gpt4 book ai didi

MySQL JOIN 并从两个可能的来源中选择一个

转载 作者:行者123 更新时间:2023-11-29 22:15:18 25 4
gpt4 key购买 nike

所以我想加入这样的来源

SELECT p.subject, p.icon, t.icon AS threadicon, i.path FROM posts p
LEFT JOIN threads t ON (t.id=p.tid)
LEFT JOIN icons i ON (i.id=p.icon OR i.id=t.icon)

问题是,当帖子和线程都设置了图标时,它会返回帖子的重复项,但带有两个图标。我想要实现的是如果在帖子中设置了图标,则获取图标的路径,如果帖子中没有设置这样的图标,则从线程中获取图标,如果线程中没有这样的图标,则返回null。

我知道这可以通过大量 IF 来完成,但我认为有比这更简单的东西。

最佳答案

您可以为此使用两个左连接:

SELECT p.subject,
COALESCE(ip.icon, it.icon) AS icon,
COALESCE(ip.path, it.path) as path
FROM posts p LEFT JOIN
threads t
ON t.id = p.tid LEFT JOIN
icons ip
ON ip.id = p.icon LEFT JOIN
icons it
ON it.id = t.icon;

关于MySQL JOIN 并从两个可能的来源中选择一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31255977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com