这里是我们的DB设置:显示MySQL的左连接在第二个表中多个匹配正确
成员:
地址:
标题:
这就是我们所需要的输出:
先生李四MSC A-1100维也纳(A00025)
夫人杰米·史密斯A-4040林茨(A00026)
杰克琼斯A-5020萨尔茨堡(A00027)
这是迄今为止我们的MySQL声明:
SELECT T1.member_id, T1.surname, T1.firstname, T2.country, T2.zip, T2.town,
T3.titel, T3.position FROM members T1
LEFT JOIN addresses T2
ON T1.member_id = T2.member_id
LEFT JOIN titles T3
ON T1.member_id = T3.member_id
WHERE T2.type = "invoice"
这给我们:
先生李四A-1100维也纳(A00025)
李四MSC A-1100维也纳(A00025)
夫人杰米·史密斯A-4040林茨(A00026)
杰克·琼斯-5020萨尔茨堡(A00027)
我们如何防止John Doe被列出两次? 我们如何在同一行中获得两个标题?
感谢您的任何帮助!
感谢JPW。看起来不错。如果我不知道桌子上有多少个不同的职位,该怎么办? – 2015-02-13 20:13:01
@RichardTinkler如果你不知道有多少个不同的标题,他们应该在什么位置,你需要使用某种动态sql,或者可能在数据库之外处理查询。 – jpw 2015-02-13 20:15:11