匿名質問者

MySQL を使っています。

以下のテーブル構造のデータベースがあり、rooms の一覧が欲しいです。

rooms
+------+
| id |
+------+

contracts
+------------+
| id |
| room_id(FK)|
| in_date |
| out_date |
+------------+

以下の条件を一発の SQL で取得するにはどういうSQL文になるのでしょうか?
『contracts.out_date が null なレコードが存在する or contracts が1つもない』

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:
  • 終了:2013/09/20 10:21:45
匿名質問者

質問者から

匿名質問者2013/09/17 01:43:04

先の内容が実現出来ない場合、『contracts が1つも無い rooms』でも良いです。

ベストアンサー

匿名回答1号 No.1

>『contracts.out_date が null なレコードが存在する or contracts が1つもない』

SELECT r.id
FROM rooms r
LEFT JOIN contracts c ON c.room_id = r.id
WHERE c.out_date IS NULL
GROUP BY r.id

その他の回答0件)

匿名回答1号 No.1

ここでベストアンサー

>『contracts.out_date が null なレコードが存在する or contracts が1つもない』

SELECT r.id
FROM rooms r
LEFT JOIN contracts c ON c.room_id = r.id
WHERE c.out_date IS NULL
GROUP BY r.id

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません