下記の様なDBがあります。
customer
+----+------+
| id | name |
+----+------+
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
+----+------+
reserve
+----+--------------+---------------+---------------+
| id | customer_id | reserve_date | content |
+----+--------------+---------------+---------------+
| 1 | 1 | 2016-02-01 | テストテスト |
| 2 | 4 | 2016-02-01 | テストテスト |
| 3 | 1 | 2016-02-01 | テストテスト |
| 4 | 1 | 2016-02-01 | テストテスト |
| 5 | 3 | 2016-02-01 | テストテスト |
| 6 | 3 | 2016-02-02 | テストテスト |
| 7 | 4 | 2016-02-02 | テストテスト |
| 8 | 1 | 2016-02-02 | テストテスト |
| 9 | 1 | 2016-02-02 | テストテスト |
| 10 | 3 | 2016-02-02 | テストテスト |
+----+---------------+---------------+--------------+
下記のSQLの結果が
SQL
1SELECT 2`customer`.`name`, 3`reserve`.`content` 4FROM `customer` 5LEFT JOIN `reserve` ON `customer`.`id` = `reserve` .`customer_id` 6WHERE `customer`.`id` IN(1,2,3,4) 7 AND `reserve`.`reserve_date` = "2016-02-01"
| A | テストテスト|
| A | テストテスト|
| A | テストテスト|
| C | テストテスト|
| D | テストテスト|
となってしまい、希望としては
| A | テストテスト|
| A | テストテスト|
| A | テストテスト|
| B | null |
| C | テストテスト|
| D | テストテスト|
の様に、INで指定したID全ての結果が欲しいです。
(reserve
が存在しない場合はnullになって欲しいです。)
この様な結果になるSQLはありますでしょうか
以上、よろしくお願い致します。
###バージョン
MySQL 5.1.73

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/24 06:33