Как я могу использовать строку оператора mySQL SELECT IF, чтобы присоединиться к другой таблице? - PullRequest
1 голос
/ 29 октября 2009

Я использую оператор IF в своем операторе mySQL SELECT и, в зависимости от результата, возвращаемого оператором IF, я хотел бы присоединиться к другой таблице.

Например. ВЫБЕРИТЕ имя, ЕСЛИ (яблоко = 'коричневый', цвет1, цвет2) КАК спелость от яблок ПРИСОЕДИНИТЬСЯ к apple_type ON apple_type.color = спелость

Моя проблема заключается в том, что я получаю сообщение об ошибке: неизвестный столбец «созревание» в «предложении». Кто-нибудь знает, как я могу обойти это, чтобы присоединиться к другой таблице, основываясь на результате IF / ELSE в предложении Select?

1 Ответ

6 голосов
/ 29 октября 2009

Вам придется дублировать вызов IF там. Например:

SELECT
    name,
    IF(apple = 'brown', color1, color2) AS ripeness
FROM
    apples
    JOIN apple_type ON apple_type.color = IF(apple = 'brown', color1, color2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...