从表中选择只连接另一个表的一行的行

时间:2012-06-27 11:22:10

标签: mysql sql select join

我有两个表:主页(ID,名称)和照片(ID,homeid,文件名,启动)

Home主键是ID,Photos主键是ID。家庭可以有多张照片。 Splash可以是0或1,对于每个HomeID,最多只有一张照片可以有splash = 1。

现在我想SELECT * FROM Home合并每个家庭它的启动,如果存在,否则splash返回null。

我该怎么办?

以下是表格的示例:

Home
ID     name
1      home1
2      home3252
3      home5326

Photos
ID     homeid       filename       splash
1      1            asda.jpg       0
2      1            aspg.jpg       1
3      2            nasf.jpg       0
4      2            qfqj.jpg       1
5      3            vnas.jpg       0
6      3            nfao.jpg       0

2 个答案:

答案 0 :(得分:3)

select h.name, p.filename
from Home h
left join Photos p on (h.id = p.homeid and p.splash = 1)

答案 1 :(得分:1)

答案在你的问题中,使用LEFT OUTER JOIN MySQL语法......