ここに私が取り組んでいる私のコードがあります -
<CFOUTPUT>
<CFQUERY NAME="getParser" DATASOURCE="LibraryDB" DBTYPE="ODBC">
select name
from parser_acronym
where init = '#source#'
</CFQUERY>
<CFQUERY NAME="getUAcode" DATASOURCE="LibraryDB" DBTYPE="ODBC">
SELECT name FROM useragent
WHERE Logs.csuseragent contains '#%useragent.string%#' </CFQUERY>
</CFQUERY>
<CFSET src = "#getParser.name#">
<CFSET ua = "#getUAcode.name#">
<CFIF (DailyCount MOD 2) EQ 0>
<CFSET via = '<td style="background-color: DBEFB6;">#src#<br><font color="blue">#ua#</font></td>'>
<CFELSE>
<CFSET via = '<td>#src#<br><font color="blue">#ua#</font></td>'>
</CFIF>
</CFOUTPUT>
getParser クエリを使用してテーブルからデータを取得しています。これは #src# として表示されます - これは正しく動作します。
ここで、さらに情報を追加する必要があります。これは #ua# (ユーザーエージェント) フィールドに表示されます。ログ テーブルに useragent テーブルの「文字列」が含まれている場合、csuseragent テーブルの名前と一致する名前が表示されることを理解するには、このクエリが必要です。したがって、2 つのテーブルからクエリを取得していますが、WHERE は「含む」である必要があります。これは可能ですか?
ここに私のテーブルの例があります -
ユーザーエージェントテーブル -
名前 | ストリング
いえ | msie
FFox | ファイアフォックス
iPad | iPad
ログ テーブルには csuseragent があります。これは通常の UA 文字列で、大量のテキストで満たされていますが、ユーザーが何を閲覧しているかを示す定義語が含まれています。
CSUSERAGENT
etcetc_msie
etcetc_firefox
etcetc_ipad
etcetc_msie
etcetc_msie