Как использовать столбцы, добавленные позже, выберите как запрос в MYSQL при соединении с другой таблицей - PullRequest
0 голосов
/ 12 мая 2018

Я получаю неизвестную ошибку столбца из этого запроса. Как я могу использовать такие запросы?

SELECT 
    (CASE 
        WHEN(c.from_user=144) 
        THEN c.to_user 
        ELSE c.from_user 
    END) as chatted_to 
FROM `chat_message` `c` 
LEFT JOIN `user` 
ON chatted_to = user.id 
WHERE (`to_user`=144) OR (`from_user`=144) 
GROUP BY `chatted_to`

Там написано:

Неизвестный столбец 'chatted_to' в 'предложении'.

1 Ответ

0 голосов
/ 12 мая 2018

Вы можете повторить условие CASE снова в предложении ON, например:

SELECT 
    (CASE 
        WHEN(c.from_user=144) THEN c.to_user 
        ELSE c.from_user 
    END) as chatted_to 
FROM `chat_message` `c` 
LEFT JOIN `user` 
ON 
    (CASE 
        WHEN(c.from_user=144) THEN c.to_user 
        ELSE c.from_user 
    END) = user.id 
WHERE (`to_user`=144) OR (`from_user`=144) 
GROUP BY `chatted_to`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...