我使用Mysql并且我很难尝试从SELECT查询中获取结果。我有两张桌子。第一桌果酱和第二桌jadwalblok。此表中的数据是静态的:
select * from jam
idjam nmjam
01 09.00-09.50
02 10.00-10.50
03 11.00-11.50
04 12.00-13.00
select * from jadwalblok
idjadwal idjam ruang tgl
1 01 601 2017-04-24
2 03 602 2017-04-25
我使用连接来获得结果。
SELECT jam.idjam,
jam.nmjam,
jadwalblok.idruang,
jadwalblok.tgl
FROM jam
LEFT JOIN jadwalblok ON jadwalblok.idjam = jam.idjam
WHERE jadwalblok.tgl='2017-04-24'
但我得不到正确的结果。我想要的结果如下所示:
idjam nmjam ruang tgl
01 09.00-09.50 601 2017-04-24
02 10.00-10.50 null null
03 11.00-11.50 null null
04 12.00-13.00 null null
答案 0 :(得分:2)
您需要将jadwalblok.tgl='2017-04-24'
条件从where
子句移动到连接条件,因为在加入2个表后应用where
子句,而在此期间应用连接条件加入:
SELECT jam.idjam,
jam.nmjam,
jadwalblok.idruang,
jadwalblok.tgl
FROM jam
LEFT JOIN jadwalblok ON jadwalblok.idjam = jam.idjam and jadwalblok.tgl='2017-04-24'