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