gpt4 book ai didi

mysql - 使用 COALESCE 连接 SQL 表中的 3 个表不返回结果

转载 作者:行者123 更新时间:2023-11-29 12:09:48 25 4
gpt4 key购买 nike

我有以下查询,但始终不返回任何结果。所有表名和列都是正确的;但是,无法让它返回结果。我取出主题表,它工作正常。主题部分出现问题。有人能发现问题吗?表名和列名正确。这是我第一次使用 COALESCE,我不确定我是否正确使用它。

处理主题,这是我的目标:

如果draft_pages.theme = 0,我希望它从domain_profile.default_theme中提取值。不确定 COALESCE 是否是正确的解决方案。

$getDRAFTinfo = $con->query("
SELECT
draft_pages.title,
draft_pages.url,
draft_pages.status,
draft_pages.modified,
draft_pages.modifier,
draft_pages.created,
draft_pages.creator,
draft_pages.domains,
COALESCE(draft_pages.theme, domain_profile.default_theme),
draft_pages.meta,
draft_pages.script,
draft_pages.page_lock,
draft_pages.design_lock,
themes.stylesheets,
domain_profile.default_theme
FROM draft_pages
JOIN domain_profile ON domain_profile.domain = '". $websitedomain ."'
JOIN themes ON themes.id = COALESCE(draft_pages.theme, domain_profile.default_theme)
WHERE draft_pages.id = '". $draftID ."'")
or die ('Unable to execute query. '. mysqli_error($con));

最佳答案

使用 CASE 语句代替

case when draft_pages.theme = 0 then domain_profile.default_theme else draft_pages.theme end

关于mysql - 使用 COALESCE 连接 SQL 表中的 3 个表不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895818/

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