По същество искате full join
, който MySQL не поддържа. Един метод за справяне с това е union all
и агрегиране:
SELECT MAX(CASE WHEN which = 'Q400' THEN contents END) as Q400,
MAX(CASE WHEN which = 'Q401' THEN contents END) as Q401
c2.contents Q410
FROM ((SELECT 'Q400' as which, c.*,
ROW_NUMBER() OVER (ORDER BY sID) as seqnum
FROM t_contents_q400 c
) UNION ALL
(SELECT 'Q401' as which, c.*,
ROW_NUMBER() OVER (ORDER BY sID) as seqnum
FROM t_contents_q401 c
)
) q
GROUP BY seqnum;