我是mysql的初学者,你能帮我从这种情况下调用query吗
我有两个表,我把id设为auto increment
表1:封闭路线

= id | name | lat

and the query is =

=1|kenjeran 1|-7.2499|-7.249

=2|mulyosari 2|-7.259|-7.259

表2:
用户位置
= id | lat | long1 | lat2 | long2
and the query is =

=18|-7.24945|112.783|-7.25907|112.795

表3:
标记
=id | lat | lng | name

我想问的是:
如何使用表3在表3中插入列
我使用此代码,但结果是0,实际上该表有查询
INSERT INTO markers (lat,lng,name) SELECT user_location.lat, user_location.long1,  closed_route.name
FROM user_location, closed_route
where user_location.lat LIKE CONCAT ('%', closed_route.lat, '%')LIMIT 1;

最佳答案

下面是一个有效的查询表单:

INSERT INTO markers (lat, lng, name)
    SELECT ul.lat, ul.long1, cr.name
    FROM user_location ul cross join
         closed_route cr
    ORDER BY ABS(ul.lat - cr.lat)
    LIMIT 1;

这将插入一个名为closed_route的标记,该标记具有最接近的lat值。
笔记:
此查询使用显式join。只是不要在from子句中使用逗号。始终使用显式join语法。
这些表具有别名,因此查询更易于编写和读取。
在数值上不使用like。相反,使用数值函数。
这可能不符合您的要求,但似乎是一个合理的查询。

关于php - 如何从另一个表调用查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24229322/

10-16 14:54
查看更多