簡體   English   中英

mysql,多個表通過WHERE子句聯接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM