SQLite左键联接2个具有1个以上匹配寄存器的表

SQLite左键联接2个具有1个以上匹配寄存器的表,sqlite,join,Sqlite,Join,我需要左键连接两个表 表:电影 id title ext 1 Terminator mp4 2 Matrix mkv 3 Predator mkv 表:音频 id language codec bitrate 1 English AAC 320 2 English AC3 640 2 Spanish AAC 320 2 German AAC 320 3

我需要左键连接两个表

表:电影

id  title       ext
1   Terminator  mp4
2   Matrix      mkv
3   Predator    mkv
表:音频

id  language    codec   bitrate
1   English     AAC     320
2   English     AC3     640
2   Spanish     AAC     320
2   German      AAC     320
3   English     DTS     640
4   Japanese    AAC     320
当我使用左连接语句时:

SELECT title, language, codec
FROM movies M LEFT JOIN audio A
ON (M.id=A.id)
我得到这个结果:

   title        language    codec
1  Terminator   English     AAC
2  Matrix       English     AC3
2  Matrix       Spanish     AAC
2  Matrix       German      AAC
3  Predator     English     DTS
   title        language                      codec
1  Terminator   English                       AAC
2  Matrix       English - Spanish - German    AC3 - AAC - AAC
3  Predator     English                       DTS
我想要的是将语言和编解码器分组在一列中。 我需要这个结果:

   title        language    codec
1  Terminator   English     AAC
2  Matrix       English     AC3
2  Matrix       Spanish     AAC
2  Matrix       German      AAC
3  Predator     English     DTS
   title        language                      codec
1  Terminator   English                       AAC
2  Matrix       English - Spanish - German    AC3 - AAC - AAC
3  Predator     English                       DTS
我是SQLite的新手。我将感谢任何帮助和启发。 谢谢。

您需要分组和。比如:

SELECT m.id, m.title
     , group_concat(a.language, ' - ') AS language
     , group_concat(a.codec, ' - ') AS codec
FROM movies AS m
LEFT JOIN audio AS a ON m.id = a.id
GROUP BY m.id
ORDER BY m.id;
其中:

id标题语言编解码器
-----  --------------------  ------------------------------  --------------------
1终结者英语AAC
2矩阵英语-德语-西班牙语AC3-AAC-AAC
3捕食者英语DTS