这是游戏应用程序的查询,以获取敌人的目标列表,其中排除了敌人无法看到的位置。这是我的查询的简化版本,以定位我的具体问题。
SELECT * FROM `game_moblist` WHERE (posx!=0 AND posy!=0) AND (posx!=1100 AND posy!=220)
posx是x坐标posy是y坐标
我正在编写一个循环来排除任何无法看到的图块 我看到的问题是它被视为括号不在那里。排除所有posx = 1100而不是有序对(1100,220)我正在尝试做什么的正确语法是什么?我想到的唯一解决方案是将两个数字组合成一个唯一的单个数字,但我宁愿学习新的东西。
答案 0 :(得分:3)
我认为你的意思是:
WHERE NOT (posx=0 AND posy=0)
AND NOT (posx=1100 AND posy=220)
也可以改写为:
WHERE (posx, posy) NOT IN ((0, 0), (1100, 200))