我的MySQL查询有一些问题。 我正在使用LEFT JOIN到table1和table2。但table2中的许多行可以匹配table1中的一行。 我知道LEFT JOIN在找到一个匹配行时停止搜索,但它似乎是随机完成的。即使当我对table2进行排序时,它也不需要第一个匹配行。MySQL中的左连接问题
你知道也许有解决办法吗?
实施例:
表1
date1 |
-----------
2010-10-10 |
2010-10-10 |
2010-10-10 |
表2
date2 | item
-------------------------
2010-10-09 | item1
2010-10-08 | item2
2010-10-07 | item3
SQL查询
SELECT * FROM table1 LEFT JOIN table2 ON date2<=date1
我希望
date1 | date2 | item
--------------------------------------
2010-10-10 | 2010-10-09 | item1
2010-10-10 | 2010-10-09 | item1
2010-10-10 | 2010-10-09 | item1
,但我发现FE
date1 | date2 | item
--------------------------------------
2010-10-10 | 2010-10-09 | item1
2010-10-10 | 2010-10-08 | item2
2010-10-10 | 2010-10-09 | item1
“我知道LEFT JOIN在找到一个匹配行时停止搜索,但它似乎随机执行此操作”这是不正确的。你在使用“GROUP BY”吗?这可能解释MySQL中的不确定结果什么是您的确切查询? – 2010-12-03 17:12:30
发布您的查询和预期输出。还提供一些示例数据。 – RedFilter 2010-12-03 17:14:29