3

私はこのような2つのテーブルを持っています:

表1:

CatID  Name
-----  ----
1      A
2      B
3      C

表2:

ID   CatID
---  -----
1    1
2    1
3    1
4    3

表2のCatIDは、table1のCatIDと同じです。

CatIDが2番目のテーブルに存在する場合はTrue、存在しない場合はFalseという追加の列を含む最初のテーブルを表示するクエリが必要です。上記の表の出力は次のようになります。

CatID  Name  Result
-----  ----  ------
1      A     True
2      B     False
3      C     True
4

2 に答える 2

5

あなたが使用することができCASEますEXISTS

SELECT CatID,
       Name,
       Result = CASE WHEN EXISTS(SELECT 1 
                                 FROM Table2 t2 
                                 WHERE t2.CatID=t1.CatId)
                THEN 'True' ELSE 'False' END
FROM Table1 t1

デモ

于 2013-03-26T16:13:29.890 に答える
0

SQLフィドルデモ


select distinct A.CARDID, NAME, CASE WHEN ISNULL(B.CARDID, 0)=0 THEN 'FALSE'
                            ELSE 'TRUE' END
FROM table1 A
LEFT JOIN table2 B
on A.CARDID = B.CARDID
于 2013-03-26T16:20:48.293 に答える