mysql左连接POINT数据类型

时间:2014-02-06 20:06:55

标签: mysql join left-join spatial

我有两个表,每个表都有一个点(空间)数据类型的列,如下所示:

表1:

id            latlng
------------------------------
1     POINT(35.72036 51.42124)  
2     POINT(32.74446 53.42124)        
3     POINT(31.78676 51.44564)   
4     POINT(32.73436 54.42124)

表2:

id            latlng
------------------------------
1     POINT(35.719 51.4221)   
2     POINT(35.72036 51.42124)        
3     POINT(32.74446 53.42124)   
4     POINT(31.78676 51.44564)    
5     POINT(32.73436 54.42124)                       
6     POINT(35.72379 51.4144) 

现在我想将这两个表与表2中的LEFT JOIN语句一起加入

我写了这个查询,但它返回24行!我应该像表2那样是6行。

SELECT * FROM Table2 LEFT JOIN Table1 ON Table2.latlng = Table1.latlng

有什么方法可以解决这个问题吗?只需要6行?

1 个答案:

答案 0 :(得分:1)

我想你忘记了GROUP BY

试试这个

 SELECT * FROM Table2 
 LEFT JOIN Table1 
 ON Table2.latlng = Table1.latlng
 GROUP BY Table2.id