如何使用mySQL SELECT IF语句行来加入另一个表?

jus*_*inl 1 mysql sql join

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

例如.SELECT name,IF(apple ='brown',color1,color2)AS成熟度来自苹果JOIN apple_type ON apple_type.color =成熟度

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

Luk*_*ský 6

你必须在IF那里复制电话.例如:

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