需要更具体的mysql查询

时间:2013-03-03 20:08:20

标签: mysql

我正在尝试从此基本查询中排除结果:

SELECT PageID, PlanID
FROM table
WHERE PlanID = 1 
AND PageID in !=0

这是一个映射表,用于将博客等标记连接到标记,标记到图像等。

我的问题是此查询还有其他结果。

PlanID = 1 - PageID = 234 - OtherID = 0
PlanID = 1 - PageID = 234 - OtherID = 456

实际上这就是我想写的:

SELECT PageID, PlanID 
FROM table
WHERE PlanID = 1 
AND PageID !=0
AND OtherID = 0
AND OtherID = 0
AND OtherID = 0
AND OtherID = 0
AND OtherID = 0

我不想一遍又一遍地写出很多'OtherID = 0', 因为这是一个动态查询,'PageID'可以是'OtherID'中的任何一个。

有没有办法排除所有'OtherID'而不必写出来, 或者必须在我的代码中执行某种类型的动态,以使用'OtherID = 0

切换!= 0 ID

类似的东西:

SELECT PageID, PlanID 
FROM table
WHERE PlanID = 1 
AND PageID !=0
AND AllOtherFields = 0

如何请求一个JUST称为pageID!= 0和planID = 1的独特查询 或者只是将我不想要的所有字段清零..?

1 个答案:

答案 0 :(得分:0)

这是你想要的吗?

SELECT PageID, PlanID
FROM table
WHERE PlanID = 1 and
      PageID <> 0 and
      OtherId <> 0

注意:您可以使用!=<>。它们是等价的。

如果要检查所有其他字段是否为0,您可以执行以下操作:

SELECT PageID, PlanID
FROM table
WHERE PlanID = 1 and
      PageID <> 0 and
      0 not in (OtherId1, otherid2, otherid3, . . . )