【发布时间】:2021-10-17 20:07:37
【问题描述】:
我有一张食谱表和一张图片表。
食谱:
| id | title |
|---|---|
| 1 | 'Pancake' |
| 2 | 'Pudding' |
| 3 | 'Pizza' |
图片:
| id | recipe_id | url |
|---|---|---|
| 1 | 1 | 'images\pancake1' |
| 2 | 1 | 'images\pancake2' |
| 3 | 2 | 'images\pizza |
我想用 images.url 加入食谱并像这样连接网址:
| recipe_id | urls |
|---|---|
| 1 | 'images\pancake1, images\pancake2' |
| 2 | 'images\pizza' |
| 3 | null |
但我明白了:
| recipe_id | urls |
|---|---|
| 1 | null |
| 2 | 'images\pancake1, images\pancake2, images\pizza' |
| 3 | null |
我的查询是:
SELECT r.*,
CASE WHEN i.recipe_id = r.id THEN
GROUP_CONCAT(i.url)
END AS url
FROM recipes r
JOIN images i
GROUP BY r.id;
【问题讨论】:
-
复制漂亮格式的 SQL 命令和数据使用 dbfiddle.uk 及其 Markdown 导出按钮
-
所以我对
LEFT OUTER JOIN的第一条评论是正确的en.wikipedia.org/wiki/Join_(SQL)
标签: mysql left-join group-concat