1

この基本的なクエリから結果を除外しようとしています:

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

これは動的クエリであり、「PageID」は「OtherID」のいずれかである可能性があるため、多数の「OtherID's = 0」を何度も記述する必要はありません。

すべての 'OtherID's を書き出さなくても除外する方法はありますか? または、私のコードで !=0 ID を 'OtherID's = 0 に切り替えるダイナミクスを実行する必要があります。

何かのようなもの:

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

pageID !=0 and planID =1 とだけ言う個別のクエリを要求するにはどうすればよいですか?

4

1 に答える 1

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, . . . )
于 2013-03-03T20:19:29.537 に答える