データベースに2つのテーブルがあり、1つにはアイテムのリストと、これらのアイテムに関するその他の情報が含まれています。もう1つの表には、これらのアイテムの写真のリストが含まれています。
アイテムテーブルは、各アイテムに一意の識別子を与えます。これは、写真テーブルで、どのアイテムが撮影されたかを識別するために使用されます。
2番目の表の写真にリンクされていないアイテムのリストを出力する必要があります。これをどのように行うことができるかについてのアイデアはありますか?
データベースに2つのテーブルがあり、1つにはアイテムのリストと、これらのアイテムに関するその他の情報が含まれています。もう1つの表には、これらのアイテムの写真のリストが含まれています。
アイテムテーブルは、各アイテムに一意の識別子を与えます。これは、写真テーブルで、どのアイテムが撮影されたかを識別するために使用されます。
2番目の表の写真にリンクされていないアイテムのリストを出力する必要があります。これをどのように行うことができるかについてのアイデアはありますか?
select i.*
from Items i
left outer join Photographs p on i.ID = p.ItemID
where p.ItemID is null
SELECT * FROM items WHERE id NOT IN (SELECT item_id FROM photos);
あなたが望むものであるべきです
1 つのアイテムに複数の写真がある場合は、distinct を使用します。
SELECT * FROM items WHERE id NOT IN (SELECT distinct(item_id) FROM photos);
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)