gpt4 book ai didi

mysql - SQL从有限制的2个表中选择

转载 作者:可可西里 更新时间:2023-11-01 08:17:38 27 4
gpt4 key购买 nike

基本上,我有两个表:管理和图片。我需要一个包含管理表中所有属性的列表。如果图片存在,列表只需要显示第一张图片(seq=1)。

我的问题:列表不显示没有图片的属性。我该如何解决这个问题?

我有以下表格:

人人

propid | city | lang | ...   
1 Mol NL
2 Olen NL
3 Geel NL
4 Ham FR

图片

propid | lang | seq |  filename  
1 NL 1 file11
1 FR 1 file12
1 NL 2 file13
1 FR 2 file14
1 NL 3 file15
1 FR 3 file16
3 NL 22 file17
3 FR 22 file18
3 NL 23 file19
3 FR 23 file20
3 NL 24 file21
3 FR 24 file22

SELECT m.propid, m.city, p.filename
FROM tblMan as m
INNER JOIN tblProp as p ON m.propid = p.propid
WHERE m.lang = 'NL' AND p.lang = 'NL' AND p.picture_index = '1'

结果是:

propid | city | filename   
1 Mol file11
3 Geel file17

他没有得到 propid 2 (Olen) 因为没有图像!

我想要结果:

propid | city | filename   
1 Mol file11
2 Olen (Null or 0 or...)
3 Geel file17

我尝试了子查询、联合、连接... (@_@) 但没有结果。

有人知道我应该使用哪种 SQL 语句吗?

感谢您的帮助!

最佳答案

使用 LEFT JOIN 因为你想显示 tblMan 表中与你在 WHERE 子句上的条件相匹配的任何记录并移动一些过滤条件对于 ON 子句上的表 tblProp

SELECT  m.propid, 
m.city,
p.filename
FROM tblMan as m
LEFT JOIN tblProp as p
ON m.propid = p.propid
AND p.lang = 'NL'
AND p.picture_index = '1'
WHERE m.lang = 'NL'

关于mysql - SQL从有限制的2个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com