select 查询一对多关系 table?
select query for one-to-many relations table?
我有2张桌子。这两个表是一对多的关系。
TABLE - A
column1 column2
1 label1
2 label2
TABLE - B
Bcolumn1 Bcolumn2 Bcolumn3
1 value1 value4
1 value2 value5
2 value3 value6
结果TABLE
column1 column2 json
1 label1 [[value1,value4],[value2,value5]]
2 label2 [[value3,value6]]
我想使用 TABLE - A 和 TABLE - B 获得结果 TABLE1。
我怎样才能得到这个结果?
谢谢。
我们可以在这里使用 GROUP_CONCAT
:
SELECT
a.column1,
a.column2,
'[' || GROUP_CONCAT('[' || b.Bcolumn2 || ',' || b.Bcolumn3 || ']') || ']' AS json
FROM TableA a
LEFT JOIN TableB b
ON b.Bcolumn1 = a.column1
GROUP BY
a.column1,
a.column2;
我有2张桌子。这两个表是一对多的关系。
TABLE - A
column1 column2
1 label1
2 label2
TABLE - B
Bcolumn1 Bcolumn2 Bcolumn3
1 value1 value4
1 value2 value5
2 value3 value6
结果TABLE
column1 column2 json
1 label1 [[value1,value4],[value2,value5]]
2 label2 [[value3,value6]]
我想使用 TABLE - A 和 TABLE - B 获得结果 TABLE1。
我怎样才能得到这个结果?
谢谢。
我们可以在这里使用 GROUP_CONCAT
:
SELECT
a.column1,
a.column2,
'[' || GROUP_CONCAT('[' || b.Bcolumn2 || ',' || b.Bcolumn3 || ']') || ']' AS json
FROM TableA a
LEFT JOIN TableB b
ON b.Bcolumn1 = a.column1
GROUP BY
a.column1,
a.column2;