8

次の 2 つのサンプル テーブルを参照してください。

表1:

id    acc_no    name
------------------------
1     14        aaaa
2     16        bbbb
3     18        ccccc
4     25        wwww
5     27        xxxxxxx
6     28        zzzzzzz

表 2:

sr no   acc_no  amount
----------------------
1       14      2000
2       16      2344
3       18      3200

たとえば、テーブル 1 で一致しない acc_no に基づいてレコードを取得する必要があります。

出力:

id   acc_no   name
---------------------
4    25       wwww
5    27       xxxxxxx
6    28       zzzzzzz

以下のクエリで試したところ、結果は信頼できませんでした:

SELECT t1.* 
FROM table1 t1
     LEFT OUTER JOIN table2 t2 ON t1.acc_no = t2.acc_no
WHERE t2.acc_no IS NULL

あなたの提案をしてください。上記の出力を取得する正しい SQL クエリは何でしょうか?

4

3 に答える 3

12

試す:

SELECT * 
FROM table1 t1
WHERE t1.acc_no NOT IN (SELECT acc_no FROM table2)
于 2013-02-12T08:01:13.663 に答える
11

する必要があります:

select t1.id,t1.acc_no,t1.name from table1 t1
     left outer join table2 t2 on t1.acc_no = t2.acc_no
       where
     t2.id is null
于 2013-02-12T08:07:18.630 に答える
1

これも試してください:

select t1.* from table1 t1 where 
    not exists (
    select 1 from table2 t2 
    where t1.acc_no=t2.acc_no
    )
于 2013-02-12T08:10:42.290 に答える