我有两张桌子。一个是关于财产的信息。另一个为每个属性存储3个图像。在这三个图像中,一个被标记为“主”图像。
所以我有:
Properties:
p_id name
1 villa a
2 villa b
3 villa c
4 villa d
和
Images
i_id p_id main
1 1 0
2 1 0
3 1 1
4 2 0
5 2 1
6 2 0
我需要生成一个查询,返回所有带有主映像id的属性。例如
p_id name i_id
1 villa a 3
2 villa b 5
我知道这需要使用LIMIT 1和join,但不知道从哪里开始,我已经尝试过使用子查询来完成这项工作,但我觉得它一定比我正在做的要简单。。。。
*我该怎么办*
使其通过“main”选择顶部1来对查询进行排序(即,如果未设置main,它仍将选择一个图像)?
最佳答案
有一种方法:
select *
from properties p
left join images i
on p.p_id = i.p_id
and i.main = 1
如果找不到主映像,左联接将返回空映像。
关于mysql - MySQL从两个表中加入LIMIT 1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1839024/