【问题标题】:How can I use a mySQL SELECT IF statement row to JOIN another table?如何使用 mySQL SELECT IF 语句行来加入另一个表?
【发布时间】:2009-10-29 07:41:13
【问题描述】:

我在 mySQL SELECT 语句中使用 IF 语句,根据 IF 语句返回的结果,我想加入另一个表。

例如。 SELECT name, IF(apple = 'brown', color1, color2) AS 成熟度 FROM apples JOIN apple_type ON apple_type.color = 成熟度

我的问题是我收到错误消息:'on 子句'中的未知列'成熟'。有谁知道我如何解决这个问题,根据 Select 子句中 IF/ELSE 的结果加入另一个表?

【问题讨论】:

    标签: sql mysql join


    【解决方案1】:

    您必须在此处复制 IF 调用。例如:

    SELECT
        name,
        IF(apple = 'brown', color1, color2) AS ripeness
    FROM
        apples
        JOIN apple_type ON apple_type.color = IF(apple = 'brown', color1, color2)
    

    【讨论】:

    • SELECT cmets.* FROM cmets JOIN registered_domains ON cmets.domain_id = registered_domains.domain_id WHERE cmets.page_id = 446 AND IF(registered_domains.moderation=0, 1, cmets.moderated=1 ) ORDER通过 comment_index ASC;你好 Lukás,我想知道你是否可以看看我的 SQL 语句并理解我想要做什么......因为 MySQL 不知道! :D 我试图根据 IF 语句的结果设置 where 条件。谢谢你的帮助!为阿里欢呼
    • 事实证明......我一直在工作......谢谢你的伙伴......干杯......我喜欢这三个点......:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多