0

データベースに2つのテーブルがあり、1つにはアイテムのリストと、これらのアイテムに関するその他の情報が含まれています。もう1つの表には、これらのアイテムの写真のリストが含まれています。

アイテムテーブルは、各アイテムに一意の識別子を与えます。これは、写真テーブルで、どのアイテムが撮影されたかを識別するために使用されます。

2番目の表の写真にリンクされていないアイテムのリストを出力する必要があります。これをどのように行うことができるかについてのアイデアはありますか?

4

4 に答える 4

4
select i.*
from Items i
left outer join Photographs p on i.ID = p.ItemID
where p.ItemID is null
于 2010-04-16T15:17:08.923 に答える
0
SELECT * FROM items WHERE id NOT IN (SELECT item_id FROM photos);

あなたが望むものであるべきです

于 2010-04-16T15:15:15.277 に答える
0

1 つのアイテムに複数の写真がある場合は、distinct を使用します。

SELECT * FROM items WHERE id NOT IN (SELECT distinct(item_id) FROM photos);
于 2010-04-16T15:23:59.870 に答える
0
SELECT id,name from tbl_item 
WHERE id NOT IN (SELECT distinct(tbl_item.id) FROM tbl_item INNER JOIN tbl_photo ON tbl_photo.pid=tbl_item.id)
于 2010-04-16T15:35:12.373 に答える