我正在尝试做什么
我有一个名为剧集的剧集,剧集在另一个名为related_links的表中没有引用多个相关链接。我需要将所有相关链接分别移动到剧集行的剧集表中。因此,一集可能有1个相关链接,而另一集可能有5个相关链接,我需要每集相关每个相关链接的列。其中一集的相关链接的最大数量为24。
希望这是有道理的,但我会尝试绘制它:
剧集表:
id title
-- -----------
1 ep title 1
2 ep title 2
related_links 表:
object_id display_text url
--------- ------------ ----------------
1 text 1 1.com
1 text 2 2.com
1 text 3 3.com
2 text 4 4.com
结果我在剧集表中寻找:
id title dtxt1 url1 dtxt2 url2 dtxt3 url3
-- ---------- ----- ----- ----- ---- ----- ----
1 episode 1 text 1 1.com text 2 2.com text 3 3.com
2 episode 2 text 4 4.com
我尝试过什么
SELECT
episodes.id AS episode_id,
episodes.title AS episode_title,
CASE
WHEN related_links.display_text LIKE '%' THEN related_links.display_text
ELSE 0
END AS 'dtxt1',
CASE
WHEN related_links.url LIKE '%' THEN related_links.url
ELSE 0
END AS 'url1'
FROM
episodes
INNER JOIN
related_links ON related_links.object_id = episodes.id
哪个接近并产生结果:
id title dtxt1 url1
-- ---------- ----- -----
1 episode 1 text 1 1.com
2 episode 2 text 4 4.com
但它只会引入一集的第一个相关的display_text和url。我不确定如何为每个后续相关链接手动或动态重复它。
谢谢你看看!
修改 - 我添加了一个SQLfiddle - http://sqlfiddle.com/#!9/0a218f/1