MySQL:左连接中的子查询
我有个问题。我想在MySQL:左连接中的子查询,mysql,Mysql,我有个问题。我想在左连接中使用子查询tm。。关于 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中使用子查询,rand的结果总是相同的 对不起
左连接中使用子查询tm
。。关于
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
中使用子查询,rand的结果总是相同的
对不起,我的语言是://p>试试这个
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编写了一个正确的查询
由于
限制1
,子查询始终只返回一个结果。如果只希望得到一个结果,请使用JOIN
而不是LEFT JOIN
。因为左侧联接表总是返回与右侧表的NULL
匹配的行和不匹配的行。总是返回相同的值:/n请在此处创建一个SQLFIDLE(),其中包含表和一些示例数据以及预期结果。您在卡车运输表中有多少条记录?truck\u trail
表中是否有多条记录与truck\u transport
中的多条记录相匹配。返回相同的结果也取决于卡车/拖车
表中的数据