选择语句,需要在where语句中使用类似功能的案例

时间:2012-06-25 14:12:11

标签: sql sql-server sql-server-2000

我在sql 2000上。

我正在网站上显示所有横幅。

如果displayedCount!= -1,则始终获取该行。否则,我需要确保它不大于maxViewCount列。

所以表格就像:

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

所以我需要一个返回bannerID为1,2,3

的select语句
    返回
  • 1,因为viewCount为-1​​(无限制)
  • 4不会返回,因为它有一个viewCount> maxViewCount。

这可能是使用SELECT语句还是需要临时表?

4 个答案:

答案 0 :(得分:3)

SELECT * FROM Table WHERE viewCount = -1 OR maxViewCount > viewCount

答案 1 :(得分:2)

SELECT bannerID,
       viewCount,
       maxViewCount
FROM table 
WHERE viewCount = -1
   OR maxViewCount > viewCount

答案 2 :(得分:0)

这个怎么样:

where
    maxViewCount >= viewCount
or  viewCount = -1

答案 3 :(得分:0)

<强> EDITED

 SELECT bannerID,viewCount,maxViewCount
 FROM TABLE
 WHERE viewCount = -1 OR viewCount <= maxViewCount