2017-02-13 19 views
1

条件に基づいてすべての行を返すことは可能ですか?例:例で見つかった行が見つかりません。

SELECT 
* 
FROM 
TABLE 
WHERE 
USER IN ('A', 'B', 'C') 

、ユーザCは、それが唯一の2行を返すであろう存在しない場合、ユーザA、BおよびCがある場合のみ、AとBは、私はたい戻りますの上3行、Cは空です。

ありがとうございました。あなたはこの

SELECT 
    t1.[user], 
    t.* 
FROM 
(
    SELECT 'A' [user] 
    UNION ALL 
    SELECT 'B' 
    UNION ALL 
    SELECT 'C' 
) t1  
LEFT JOIN 
    table_name t 
ON t.[user] = t1.[user]; 
+0

はA、B、およびCの行を返すためにCTEを有します。そのcteと外部結合する。 – jarlh

答えて

1

あなたはここに参加LEFTを利用することができます。..

WITH cte AS 
(SELECT 'a' AS user UNION ALL 
SELECT 'b' 
    SELECT 'c' 
) 
SELECT * FROM cte 
LEFT JOIN tablename ON yourcolumnName = user 
+0

共有いただきありがとうございます。 – Khrys

2

を使用することができます

+0

共有いただきありがとうございます。 – Khrys

関連する問題