如何将此左外连接查询转换为子集查询
select
j.*, concat(d.Name, ', ', d.Gelar) as DSN,
prg.Nama_Indonesia as PRG,
kl.Kelas as kls,
kl.Sesi as ssi
from
jadwal j left outer join
dosen d on j.IDDosen=d.ID left outer join
kelas kl on j.Kelas=kl.ID left outer join
program prg on j.Program=prg.Kode left outer join
jabatanorganisasi jo on d.JabatanOrganisasi=jo.Kode left outer join
tahun t on j.tahun=t.id
order by
d.Name, prg.Nama_Indonesia, kl.Sesi, kl.Kelas;
请帮忙 给我一个例子
最佳答案
对于第一个查询,您将获得行,因为所有连接都是LEFT JOIN
,因此至少表jadwal
中的所有条目都将出现在输出中。
但是在另一个查询中,您正在使用条件进行选择(类似于INNER JOIN
),如果条件不满足,则不会有任何结果集。这就是为什么您没有得到任何输出。
没有符合这些条件的数据。请检查数据
where
j.IDDosen=d.ID and
j.kelas=kl.ID and
j.program=prg.kode and
j.tahun=t.id AND
d.JabatanOrganisasi=jo.kode
希望这有帮助
关于mysql - 如何将左外连接查询转换为子集查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506941/