Table1
+----+--------------+
| id | csvalues |
+----+--------------+
| 1 | 100;1001; |
| 3 | 300;12; |
| 4 | 400;44; |
+----+--------------+
Table2
+----+----------+--------+
| id | csvalues2|table1ID|
+----+----------+--------+
| 1 | 10 | 1 |
| 3 | 30 | 1 |
| 4 | 111 | 3 |
+----+----------+--------+
有这两张桌子。 我不想得到像这样的结果
RESULT
+----+----------------+
| id | csvalues |
+----+----------------+
| 1 |100;1001;10;30; |
| 3 |300;12;111; |
+----+----------------+
有可能吗?我试图左键加入表但无法将Table2.csvalues2放入RESULT.csvalues。
答案 0 :(得分:2)
这是一个适用于您的示例数据的解决方案。我使用了内连接而不是左连接,因为您的示例意味着您只想包含Table1中具有Table2中相关行的行:
select Table1.id,
concat(Table1.csvalues,group_concat(Table2.csvalues2 separator ';'),';') as csvalues
from Table1
inner join Table2 on Table2.table1ID = Table1.id
group by Table1.id;
答案 1 :(得分:1)
我会尝试做类似
的事情SELECT Table1.ID, CONCAT(Table1.csvalues, ';', (SELECT GROUP_CONCAT(Table2.csvalues2 SEPARATOR ';') FROM Table2 WHERE Table2.table1ID = Table1.ID)) FROM Table1;
在测试数据库中,我将Quicky放在一起,返回了您期望的结果。