1

レビュー中のリスティングを含むテーブルと、レビューされたリスティングとレビューされた日付を記録する別のテーブルがあります。

まだレビューされていないリストのみを出力できるようにする mysql クエリを作成できるかどうかを調べようとしています (つまり、レビュー済みのテーブルにそのリストのエントリがありません)。

というわけで下の例。リスト テーブルにクエリを実行して、まだレビューされていないものを見つけたいと思います。この場合、最初のリスト (id#1) のみが返されます。これは、他の 2 つが既にレビューされているためです。これは、MySQL の結合で実現する必要がありますか?

Listings Table:

id|title
1|First Listing
2|Second Listing
3|Third Listing
etc.

Reviewed Table:

id|listing_id|review_date
1|2|2013_02_05
2|3|2013_02_05
4

1 に答える 1

0

LEFT JOIN次のNULLように使用できます。

SELECT L.*
FROM Listings L
  LEFT JOIN Reviewed R ON L.Id = R.Listing_Id
WHERE R.Id IS NULL

または、次を使用できますNOT IN

SELECT L.*
FROM Listings L
WHERE ID NOT IN (SELECT Listing_ID FROM Reviewed)

そして、ここにSQL Fiddleがあります。

幸運を。

于 2013-02-05T00:11:12.690 に答える