执行此SQL查询时:
INSERT INTO archi(nodo1,nodo2)
SELECT p.nodo,p2.nodo
FROM polinodo p,polinodo p2
where p.way=p2.way and p.idpolinodo!=p2.idpolinodo and p.idpolinodo=p2.idpolinodo-1
and p.way in
(SELECT idtag_way
FROM tag_way_min where k='highway' and
idtag_way in (SELECT idtag_way
FROM tag_way_min where k='oneway' and (v=1 or v='true' or v='yes')) )
我收到以下错误:
错误代码:1292。截断错误的DOUBLE值:'yes'
我该如何解决这个问题?
感谢。
答案 0 :(得分:0)
您的表v
中的列tag_way
似乎是数字,因此where
子句的这一部分显示无效:
(v=1 or v='true' or v='yes')
尝试并修改该部分,使条件与您的数据类型匹配。
答案 1 :(得分:0)
要求从不同的同一行检索列k的两个值似乎存在逻辑问题,
(SELECT idtag_way
FROM tag_way_min where k='highway' and
idtag_way in (SELECT idtag_way
FROM tag_way_min where k='oneway' and (v=1 or v='true' or v='yes')
我不知道k如何等于两个值。也许改成它:
(SELECT idtag_way
FROM tag_way_min where k='highway' or k='oneway'
idtag_way in (SELECT idtag_way
FROM tag_way_min where v=1 or v='true' or v='yes')