2009-10-29 114 views
1

我在我的mySQL SELECT语句中使用了一条IF语句,并且根据IF语句返回的结果我想加入另一个表。如何使用mySQL SELECT IF语句行来加入另一个表?

例如, SELECT name,if(apple ='brown',color1,color2)AS ripeness FROM Appleles JOIN apple_type ON apple_type.color = ripeness

我的问题是我收到错误信息msg:Unknown column'ripeness'in'在条款'。有谁知道如何解决这个问题,以便根据Select子句中IF/ELSE的结果加入另一个表?

回答

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) 
+0

就像一个魅力!感谢 – justinl 2009-10-29 07:51:34

+0

选择注释。* FROM评论JOIN registered_domains ON comments.domain_id = registered_domains.domain_id WHERE comments.page_id = 446 AND IF(registered_domains.'moderation' = 0,1,comments.moderated = 1 ) ORDER BY comment_index ASC; 你好Lukás, 我想知道你是否可以看看我的SQL语句,并了解我正在尝试做什么...因为MySQL不知道! :D 我想把一个条件取决于一个IF声明的结果。 感谢您的帮助! 干杯 Ali – 2011-08-08 11:06:51

+0

事实证明......我一直在努力......谢谢你队友......欢呼......我喜欢这三个点......:P – 2011-08-08 11:10:24