在我的頭上抨擊我的頭並不確定如何解決。我需要從包含用戶信息的團隊表(不同值)中返回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'
香港專業教育學院還試圖最大:
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'
但子查詢從用戶表返回空值。但是,當我刪除限制和最大值,我得到的用戶表值,但我得到多個行每團隊代碼。有任何想法嗎?
我想這不是最後的'? –
爲什麼在tmp表上加入?爲什麼不是實際的JOIN和GROUP BY?子查詢中的「LIMIT 1」通常是不完美查詢的標誌。 – Rudie
謝謝 - 是的,這是複製和粘貼錯誤。尾部'包含在查詢本身中。查詢執行但返回用戶表中的列的空值。 – paxx