我有2个连接正在执行相同的操作(从导航链接表获取信息以将标题动态添加到导航栏)。目前,我想知道如果我需要添加两个以上的导航链接,这将意味着进一步的麻烦,我不想继续为每个select语句添加一个联合。
SELECT header_title
FROM navlinks
INNER JOIN who_we_are ON navlinks.id = who_we_are.navlinkid
UNION
SELECT header_title
from navlinks
INNER JOIN contactpage ON navlinks.id = contactpage.navlinks_id
答案 0 :(得分:1)
您可以尝试使用LEFT JOIN
和coalesce
函数。
SELECT distinct coalesce(who_we_are.header_title,contactpage.header_title,null)
FROM navlinks
LEFT JOIN who_we_are ON navlinks.id = who_we_are.navlinks_id
LEFT JOIN contactpage ON navlinks.id = contactpage.navlinks_id
WHERE coalesce(who_we_are.header_title,contactpage.header_title,null) is not null
sqlfiddle:http://sqlfiddle.com/#!9/9d5c85/2