我有一对多的表设置。我想要做的是加入表,但不是让它返回显示不同组合的多行,我希望它返回包含3个字段的1行,每个表对应多个表。
Data:
dataID (primary key),
other data,
other data,
other data
Codes:
codeID,
dataID (foreign key),
codeValue
预期产量: dataID,codeValue1,codeValue2,codeValue3
答案 0 :(得分:1)
select concat(DataID,',',CodeValues) ExpectedOutput from
(
select A.dataID,GROUP_CONCAT(B.codeValue ORDER BY B.codeID) CodeValues
from (select dataID from Data) A
inner join Codes B using (dataID) group by A.dataID
) AA;
确保您拥有此复合索引
ALTER TABLE Codes ADD INDEX data_code_ndx (dataID,codeID,codeValue);