照合順序の競合を解決できません[SQL Server2005 ]
今あるビューを生成しようとしてSQL文がうまく書けずに悩んでいます。ビューですが、副問い合わせを使用してある条件毎に異なるテーブルからデータを取得しようとして下記のようなSQLを書きました。
【SQL】
SELECT url, site_id, element1, element2, element3, element4, element5, element6, access_date,
CASE element2 WHEN '1' THEN ''
WHEN '2' THEN
(SELECT title FROM table_b b WHERE b.site_id = a.site_id AND id = a.element4)
WHEN '3' THEN
(SELECT title FROM table_c c WHERE c.site_id = a.site_id AND id = a.element4)
END AS page_title
FROM dbo.view_access_log AS a
このSQLを実行すると、「eqaul to の操作の"Japanese_CI_AS"と"Japanese_CS_AS_KS_WS"間での照合順序の競合を解決できません。」というエラーが表示されてしまいます。
ちなみに、上記SQLの
"WHEN '3' THEN
(SELECT title FROM table_c c
WHERE c.site_id = a.site_id AND id = a.element4) "という部分を削除すると正常に動作します。
また、
・view_access_log,table_b,table_c の照合順序は「Japanese_CI_AS」となっています。
・副問い合わせに使用しているtable_b、table_cのidというフィールドはそれぞれint型になっています。
・a.element4のフィールドの参照元のフィールドはvarchar(200)になっています。
どなたか識者の方、アドバイスお願い致します。m(__)m
お礼
回答ありがとうございました。 クロス集計のせいかどうもうまくいきません。 今後の課題にさせていただきます。