MySQL-从SET字段的ID中选择所有引用

时间:2018-09-17 18:18:22

标签: mysql

我对MySQL不太了解,但我敢打赌,这是有可能的。

我有这两个示例表:

TableA that contains (ID, name)
TableB that contains (TableA_ID, TableC_ID)

我正在尝试从tableA进行视图,该视图还在SET字段中通过对TableA.ID的TableA_ID引用列出了所有TableC_ID。输出应该是这样的:

+------------+------------+------------------------+
| ID         | name       | set(TableB.TableC_ID)  |
+------------+------------+------------------------+
|          1 |      maria |        (1, 3, 4, 6, 8) |
+------------+------------+------------------------+

希望我已经足够清楚了,谢谢您的关注。

1 个答案:

答案 0 :(得分:1)

您是否正在寻找group_concat

   SELECT 
       A.id,
       A.name,
       GROUP_CONCAT(B.TableC_ID)
   FROM TableA AS A
   INNER JOIN TableB AS B ON A.id = B.TableA_ID
   GROUP BY A.id

   SELECT A.id, A.name, CONCAT('(',GROUP_CONCAT(B.TableC_ID) , ')') `SET(TableB.TableC_ID)`
   FROM TableA AS A 
   INNER JOIN TableB AS B on A.id = B.TableA_ID 
   GROUP BY A.id 
相关问题