#mysql #join
#mysql #Присоединиться
Вопрос:
В моей базе данных Mysql есть 3 таблицы следующим образом:
daily_data_update:
----------------------------------------------
id date code user_id followup_status
----------------------------------------------
1 08/10/2020 AD123 1 1
2 08/10/2020 AD134 2 2
3 08/10/2020 AD123 1 1
---------------------------------------------
Пользователи:
-------------------------------------
id first_name user_re&ion
------------------------------------
1 Peter scotland
2 Susan ireland
------------------------------------
последующий статус
------------------------------------
id followup_status
---------------------------------------
1 Paid
2 Unpaid
----------------------------------------
Мне нужно select date,code and followup_status from daily_data_update WHERE user_id in users
вместе с followup_status. Мой запрос выглядит следующим образом:
SELECT t1.`date`,
t1.`code`,
t3.`followup_status`
FROM `daily_data_update` AS t1,
followupstatus AS t3
LEFT OUTER JOIN users AS t2 ON t1.user_id = t2.id
WHERE t2.id IS NOT NULL
AND t2.user_re&ion = 'scotland'
Но запрос не выполняется, поскольку Unknown column 't1.user_id' in 'on clause'
Что не так с моим запросом и как я могу это решить?? Запрашиваю помощь..
Комментарии:
1. Не используйте
,
соединения, а только правильныеJOIN
соединения.2. Извините, будучи новичком, я не понял.
3. Я попробовал следующее, и статус выполнения отображается NULL: ВЫБЕРИТЕ t1.
date
, t1.code
, t3.followup_status
ИЗdaily_data_update
AS t1 LEFT OUTER JOIN users AS t2 В t1.user_id = t2.id ОСТАВЛЕНО ЗНАЧЕНИЕ followupstatus КАК t3 ДЛЯ t1.followup_status
= t3.followup_status ГДЕ t2.id НЕ РАВНО NULL И t2.user_re&ion = ‘scotland’
Ответ №1:
Попробуйте этот запрос:
SELECT t1.`date`,
t1.`code`,
t3.`followup_status`
FROM `daily_data_update` AS t1
LEFT JOIN followupstatus AS t3 ON t1.followup_status = t3.id
LEFT JOIN users AS t2 ON t1.user_id = t2.id
WHERE t2.id IS NOT NULL
AND t2.user_re&ion = 'scotland'
Надеюсь, это сработает!!
Комментарии:
1. Followup_status отображает значение NULL
2. Можете ли вы поделиться тем, какой результат вы ожидаете?
3. followup_status должен быть оплачен или неоплачен, как показано в таблице в моем вопросе.
4. t1.followup_status = t3.followup_status должен быть t1.followup_status = t3.id
5. Спасибо @P. Лосось