Har följande tabeller:
objekt:
+-----+------------+
| id | objektnamn |
+-----+------------+
| 41 | 271a |
| 42 | 271b |
| 43 | 272a |
| 44 | 272b |
| 45 | 273a |
| 46 | 273b |
+-----+------------+
kontrollrader:
+----+----------+------------+-------+
| id | objektid | bokningsnr | dagnr |
+----+----------+------------+-------+
| 90 | 45 | 4015 | 2 |
| 91 | 45 | 4015 | 4 |
| 92 | 45 | 4015 | 3 |
| 94 | 46 | 4016 | 4 |
| 95 | 46 | 4016 | 5 |
| 96 | 42 | 4017 | 3 |
| 97 | 42 | 4017 | 4 |
| 98 | 42 | 4018 | 6 |
+----+----------+------------+-------+
Så här är det nu:
mysql> SELECT objekt.objektnamn, bokningar.bokningsnr, kontrollrader.dagnr
FROM bokningar, kontrollrader, objekt
WHERE bokningar.bokningsnr = kontrollrader.bokningsnr AND kontrollrader.objektid = objekt.id
ORDER BY objekt.objektnamn DESC, kontrollrader.dagnr ASC LIMIT 0, 30;
+------------+------------+-------+
| objektnamn | bokningsnr | dagnr |
+------------+------------+-------+
| 273a | 4015 | 2 |
| 273a | 4015 | 3 |
| 273a | 4015 | 4 |
| 273b | 4016 | 4 |
| 273b | 4016 | 5 |
| 271b | 4017 | 3 |
| 271b | 4017 | 4 |
| 271b | 4018 | 6 |
+------------+------------+-------+
8 rows in set (0.00 sec)
Vad jag vill uppnå:
+------------+------------+-------+
| objektnamn | bokningsnr | dagnr |
+------------+------------+-------+
| 271a | null | null |
| 271b | 4017 | 3 |
| 271b | 4017 | 4 |
| 271b | 4018 | 6 |
| 272a | null | null |
| 272b | null | null |
| 273a | 4015 | 2 |
| 273a | 4015 | 3 |
| 273a | 4015 | 4 |
| 273b | 4016 | 4 |
| 273b | 4016 | 5 |
+------------+------------+-------+
Dvs att objekt som ingen motsvarande kontrollrad har, ändå skrivs ut _en_ gång.
Hur ser en JOIN ut för att det ska uppnås?