[英]MySQL: subquery in LEFT JOIN
我有個問題。 我想在LEFT JOIN .. ON
使用子查詢tm
LEFT JOIN .. ON
SELECT t.*,
(SELECT `uid` FROM `truck_transport` tm WHERE tm.from = t.station ORDER BY RAND() LIMIT 1) as tm
FROM `truck_trailer` t
LEFT JOIN `truck_transport` tm2 ON (tm2.uid = tm) ...
如果我在FROM
使用子查詢,則結果總是相同。
對不起,我的語言:/
嘗試這個
SELECT t.*, tm.uid
FROM `truck_trailer` t
LEFT JOIN (SELECT `uid` FROM `truck_transport` ORDER BY RAND() LIMIT 1) as tm
ON (tm.uid = t.station)
mynawaz已編寫了正確的查詢。
由於limit 1
您的子查詢將始終僅返回一個結果。 如果只希望得到一個結果,則使用JOIN
而不是LEFT JOIN
。 因為左連接表總是返回匹配的行,而與右側表的NULL
不匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.