Отбив голову на этом и не уверен, как решить. Мне нужно вернуть 1 строку на командный код из таблиц команд (различные значения), которые включают информацию о пользователе.MySQL LIMIT 1 возвращает нулевые значения
Пользователи таблицы могут иметь несколько оснований значений в командном коде, но мне нужно только возвращать 1 (любой, неважно, какой). Я пробовал:
SELECT a.teamcode, a.area, c.uniqid, c.fullname, c.email
FROM teams a
LEFT JOIN
(SELECT uniqid, CONCAT(first_name, ' ', last_name) AS fullname, email, teamcode from users LIMIT 1) c
on a.teamcode = c.teamcode
WHERE a.area= 'ZF15'
Ive также пытались макс:
SELECT a.teamcode, a.area, c.uniqid, c.fullname, c.email
FROM teams a
LEFT JOIN
(SELECT max(uniqid) as uniqid, CONCAT(first_name, ' ', last_name) AS fullname, email, teamcode from users) c
on a.teamcode = c.teamcode
WHERE a.area= 'ZF15'
Но к югу запрос возвращает нулевые значения из таблицы пользователей. Тем не менее, когда я удаляю limit и max, я получаю значения таблиц пользователей, но я получаю несколько строк за командный код. Есть идеи?
Я предполагаю, что это не закрытие '? –
Почему JOIN на таблице tmp? Почему не фактическое СОЕДИНЕНИЕ и ГРУППА? 'LIMIT 1' в подзапросе обычно является признаком несовершенного запроса. – Rudie
Спасибо, да, это была опечатка на копии и вставке. Заключительный 'был включен в сам запрос. Запрос выполняется, но возвращает нулевые значения для столбцов из таблицы пользователей. – paxx