这段代码有问题
SELECT b.*, MIN(c.seri) as seri_awal, MAX(c.seri) as seri_akhir FROM berkas b
LEFT JOIN certificate c
ON c.berkas_nomor = b.nomor
通过该代码,我想我可以获得与我创建的关系相关的所有数据(c.berkas_nomor = b.nomor
)并获取我的表的 MIN() 和 MAX() 值INNER JOIN
,但我得到的结果只显示1个数据(我的期望应该是4个数据)
我的预期结果
nomor |
nama |
seri_awal |
seri_akhir |
ASD123 |
lorem |
S0000001 |
S0000015 |
ASD321 |
ipsum |
S1000500 |
S1000525 |
QWE123 |
dolor |
S3000500 |
S3000525 |
QWE321 |
ameti |
S4000001 |
S4000015 |
真实结果
nomor |
nama |
seri_awal |
seri_akhir |
ASD123 |
lorem |
S0000001 |
S0000015 |
我编写的代码有问题吗?谢谢
子查询部分返回 berkas_nomor 明智的最小值和最大值,并与主表 berkas 联接。
SELECT b.nomor, b.nama, t.seri_awal, t.seri_akhir
FROM berkas b
LEFT JOIN (SELECT berkas_nomor
, MIN(seri) seri_awal
, MAX(seri) seri_akhir
FROM certificate
GROUP BY berkas_nomor) t
ON b.nomor = t.berkas_nomor;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)