LEFT JOIN команд на teams.id = (SELECT team_id FROM auth_users WHERE ID = offers.user_id)подзапросов в левой Регистрацию
дает мне все столбцы таблицы команд, но преобразует все в NULL.
LEFT JOIN teams ON teams.id = 1
работает как шарм
Когда я сделать
SELECT (SELECT team_id FROM auth_users WHERE id = offers.user_id) as team_id
team_id будет 1.
По какой-то странной причине он не работает внутри JOIN
.
Полный запрос:
SELECT projects.id, projects.title as title, winner_id, projects.user_id as user_id, until, pages, types.title as type, types.id as type_id, projects.id as id, offers.price as price, offers.delivery_date as delivery_date, teams.*,
(SELECT COUNT(id) FROM comments WHERE comments.project_id = projects.id AND comments.private = 1) as comments,
(SELECT COUNT(id) FROM uploads WHERE uploads.project_id = projects.id) as files,
(SELECT country FROM auth_users WHERE auth_users.id = offers.user_id) as baser_country,
(SELECT business FROM auth_users WHERE auth_users.id = offers.user_id) as baser_business,
(SELECT CONCAT(firstname, ' ', lastname) FROM auth_users WHERE auth_users.id = offers.user_id) as baser_name,
(SELECT team_id FROM auth_users WHERE id = offers.user_id) as team_id,
(SELECT country FROM auth_users WHERE auth_users.id = projects.user_id) as customer_country,
(SELECT business FROM auth_users WHERE auth_users.id = projects.user_id) as customer_business
FROM projects
JOIN types ON projects.type_id = types.id
LEFT JOIN offers ON projects.id = offers.project_id
LEFT JOIN teams ON teams.id = (SELECT team_id FROM auth_users WHERE id = offers.user_id)
WHERE projects.user_id = 1 AND winner_id != 0 AND uploaded = 1
GROUP BY projects.id
ORDER BY projects.id DESC
LIMIT 3
Заранее спасибо!
Не могли бы вы отправить полный исходный запрос (что происходит до «LEFT JOIN») –
1) В чем вопрос? Вы даете нам кучу запросов, но это поможет вам понять, что вы на самом деле пытаетесь сделать. 2) Мы не знаем, с чем мы работаем, без остальной части запроса. – chaos
Добавлен полный запрос. Спасибо за прочтение! –