sql查询:以逗号分隔的形式选择第二个表的多个值

问题描述:

sql查询以逗号分隔的形式获取第二个表的多个值。两个表都由tbl 1 id连接。sql查询:以逗号分隔的形式选择第二个表的多个值

tbl 1 
    id category 
    1 cat 1 
    2 cat 2 

    tbl 2 
    id tbl_1_id subcategory  
    1  1  sub 1 
    2  1  sub 2 
    3  1  sub 3 
    4  2  sub 4 



query result expected 
1 cat 1 sub 1,sub 2,sub 3, 
2 cat 2 sub 4 
+0

请提供。标记数据库名称。 –

+0

哪个数据库? (MySQL,MSSQL,Oracle,Postgres,SQLLite,...)? – etsa

+0

在mysql上工作 – Anderson

在mYsql中,您可以试试这个(使用GROUP BY和GROUP_CONCAT函数)。 GROUP_CONCAT()使用“,”作为分隔符连接具有相同TABLE_1_ID和CATEGORY名称的字段 - GROUP BY后列出的字段。

SELECT A.TABLE_1_ID, B.CATEGORY, GROUP_CONCAT(A.SUBCATEGORY) AS SUBC 
FROM SUBCATEGORIES A 
INNER JOIN CATEGORIES B 
GROUP BY A.TABLE_1_ID, B.CATEGORY;