これは私の頭を傷つけてしまいます:私は以下の3番目のクエリで正しく機能するためにNOT CONTAINSを取得できません。 1つの一時的なテーブルを別のものに対して)。NOT CONTAINSを使用して2つのテンポラリテーブル間で結果を比較する
この状況の背景は、ビジタートラッキングソフトウェアによってクライアントのためにトラッキングされているウェブサイトページです。
以下の目標は、一連のクライアントに接続されているすべてのウェブサイトドメインを#Domainsの一時表に追加し、#Pages一時表に訪問したすべてのページを埋め込み、結果を比較して表示しますクライアントドメインとして登録されていないページへの訪問を追跡している場合。基本的には、各ClientID(各クライアントの一意の識別子)に対して#Domains.Domain1、#Domains.Domain2、または#Domains.Domain3のいずれかとは異なる#Pagesからすべてを返したいとします。
#Domains
+--------------------------------------------------------------------------------+
| Name ClientID Domain1 Domain2 Domain3 |
+--------------------------------------------------------------------------------+
| Example 11111 www.example.com NULL NULL |
| Test 22222 www.test.com www.new.com NULL |
| Website 33333 www.website.co.uk NULL |
+--------------------------------------------------------------------------------+
#Pages
+----------+--+-----------------------+
| ClientID | | PageLocation |
+----------+--+-----------------------+
| 11111 | | www.example.com |
| 11111 | | www.example.com/about |
| 11111 | | www.example.com/help |
| 22222 | | www.test.com |
| 22222 | | www.test.com/help |
| 22222 | | www.new.com |
| 22222 | | www.fake.com |
| 33333 | | www.ultra.co.uk |
| 33333 | | www.ultra.co.uk/news |
| 33333 | | www.website.co.uk |
+----------+--+-----------------------+
そして、何私が戻ることを期待したいことは、次のようになります:(それは、サブクエリにのみ関連だとレコードIDを含めない)
SELECT Name, Domain1, Domain2, Domain3, ClientID, RecordID
INTO #Domains
FROM Domains
WHERE RecordID IN (Subquery that I wont paste here)
SELECT ClientID, PageLocation
INTO #Pages
FROM PageLocations
WHERE ClientID IN (SELECT ClientID
FROM #Domains)
SELECT *
FROM #Pages
WHERE NOT CONTAINS (#Pages.PageLocation, #Domains.Domain1, #Domains.Domain2, #Domains.Domain3) AND
#Pages.ClientID = #Domains.ClientID
は、だから私の2つの表は、現在、次のようになり
+----------+--+-----------------+
| ClientID | | PageLocation |
+----------+--+-----------------+
| 22222 | | www.fake.com |
| 33333 | | www.ultra.co.uk |
+----------+--+-----------------+
申し訳ありませんが、基本的には、最終的なクエリで構文解析エラーが発生しているため、正しく使用しているとは思われません。また、絶対に含まれていないとは確信していませんリここで選択してください、どんな助けも大歓迎です!
'contains'は、フルテキストインデックス付き列に対してフルテキスト検索を実行します。一時テーブルが全文索引付けされているかどうかはわかりません。 –