【问题标题】:mySQL Subselect with multiple results should be shown in 1 field具有多个结果的 mySQL 子选择应显示在 1 个字段中
【发布时间】:2018-08-01 10:08:46
【问题描述】:

我想在一个子选择的 1 个字段中显示多个结果。

例如:

table 1:
tbl1_ID, fistname, familyname

table 2:
tbl2_ID, carbrand

table 3 is the n:n relationship for table 1 and 2
tbl1, tbl2

表 1 中的人应该能够拥有几辆汽车(例如福特和宝马)。 表2的汽车品牌当然适用于几个人。

我想在 1 个数据字段中列出每个人的汽车

例子:

Mueller  | Hans   | Ford,BMW

Jaeger   | Erwin  | BMW,Mercedes,Jaguar

Fritsche | Sascha | Mercedes

如何做到这一点?我不能使用子选择,因为它只允许 1 个结果。 此外,它不适用于 LEFT JOIN,因为我只想向每个人显示一次。

谢谢!先生

【问题讨论】:

  • 提示:group_concat.

标签: mysql sql subquery


【解决方案1】:

你可以使用group_concat,你应该使用基于表3和group by的两个相关表之间的内连接

select a.familyname, a.fistname,  group_concat(b.carbrand)
from  table_3 c
inner join table1 a on c.table1_id = a.table1_id 
inner join table2 b on c.table2_id = b.table2_id 
group by a.familyname, a.fistname

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多