DBにカスタムリストが設定されている場合、フィルタリングされる可能性のある顧客の値を返すようにしています。where節がnullでなく、同じ状態に属するユーザーとユーザーのリストを返します
カスタムリストがアップロードされている場合、そのリスト内のすべての顧客とその州に属する顧客を返すクエリを作成したいと思います。それ以外の場合は、リストが設定されていない場合はフィルタリングされていないリストを返します。
は、これは私がそれが私の目標を達成望ん書いたものですが、リストがアップロードされた場合はフィルタリングするために失敗しているとコメントアウト場合は、同じデータを返します。
SELECT U.userId
,U.State
FROM UsersAndStates U
LEFT JOIN @CustomUsersAndState C -- variable table where custom list is stored for this query
on U.userId= C.userId
WHERE U.userId LIKE CASE WHEN C.userId IS NOT NULL
THEN '%' + C.userId + '%'
WHEN C.userId IS NULL
THEN '%' + U.userId + '%'
WHEN C.State = U.State
THEN '%' + U.userId + '%
END
をお読みいただきありがとうございました。
編集:固定別名間違い
「S.userId」はどこから来たのですか? – Sami
申し訳ありませんが、フォーマットミスでした。 – WSilhavy