1

私はSQL 2000を使用しています。

Web サイトに表示するすべてのバナーを取得しています。

DisplayCount != -1 の場合、常に行を取得します。それ以外の場合は、maxViewCount 列よりも大きくないことを確認する必要があります。

したがって、テーブルは次のようになります。

bannerID  viewCount maxViewCount
1         -1         0
2         100        200
3         0          200
4         201        200

したがって、bannerID の 1、2、3 を返す select ステートメントが必要です

  • viewCount が -1 (無制限) であるため、1 が返されます。
  • viewCount > maxViewCount であるため、4 は返されません。

これは SELECT ステートメントで可能ですか、それとも一時テーブルが必要ですか?

4

4 に答える 4

3
SELECT * FROM Table WHERE viewCount = -1 OR maxViewCount > viewCount
于 2012-06-25T14:15:11.773 に答える
2
SELECT bannerID,
       viewCount,
       maxViewCount
FROM table 
WHERE viewCount = -1
   OR maxViewCount > viewCount
于 2012-06-25T14:25:31.150 に答える
0

編集済み

 SELECT bannerID,viewCount,maxViewCount
 FROM TABLE
 WHERE viewCount = -1 OR viewCount <= maxViewCount
于 2012-06-25T14:16:17.083 に答える
0

これはどう:

where
    maxViewCount >= viewCount
or  viewCount = -1
于 2012-06-25T14:15:14.520 に答える