[英]mysql, multiple table Joins with WHERE clause
我正在使用Mysql,並且很難嘗試從SELECT查詢中獲取結果。 我有2張桌子。 第一張桌子果醬和第二張桌子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
您需要將jadwalblok.tgl='2017-04-24'
條件從where
子句移到jadwalblok.tgl='2017-04-24'
條件,因為在聯接兩個表之后應用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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.