我想合并列中的特定行,但我不能这样做!
例如,
我有三张表:
ID, Name1
ID, Table1Id, Table3Id
ID, Name2
表格中的数据如下:
Table 1 table 2 Table 3
ID - Name ID- Table1Id- Table2ID ID - Name
1 - A 1 - 1 - 1 1 - AE
2 - B 2 - 1 - 2 2 - AF
3 - 2 - 1
当我加入时,表格将是:
加入表:
table1Name - Table3Name
A - AE
A - AF
B - AE
我希望该表看起来像>>>
Table
Table1Name - Table3Name
A - AE, AF
B - AE
我该怎么做?
答案 0 :(得分:2)
select tb1.name nameTb1, tb3.name nameTb3
from table2 tb2
inner join table1 tb1 on tb2.Table1Id = tb1.id
inner join table3 tb3 on tb2.Table3Id = tb3.id
答案 1 :(得分:0)
您使用的是什么数据库?
尝试查看CONCAT
。
所以在选择字段上会出现这样的情况。
CONCAT(TABLE1.NAME, '-', TABLE3.NAME)
对于这种情况,这是您的代码
SELECT CONCAT_WS('-',table1.name , GROUP_CONCAT(table3.name SEPARATOR ',')) tablename
FROM table2
INNER JOIN table1 ON table2.Table1Id = table1.id
INNER JOIN table3 ON table2.Table3Id = table3.id
GROUP BY table1.name