2012-06-25 91 views
1

我在sql 2000.Select语句,需要像where语句中的功能案例

我得到所有的横幅显示在网站上。

如果displayedCount!= -1,那么总是得到该行。否则,我需要确保它不大于maxViewCount列。

所以该表是这样的:

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

所以我需要一个select语句,将返回bannerID的1,2,3

  • 返回1,因为观看次数-1(无限制)
  • 由于它具有viewCount> maxViewCount,因此不返回4。

这是可能的SELECT语句或它需要临时表?

+0

如果收视次数= maxViewCount? –

回答

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

当viewCount更大时,它不应该返回。查询中的第二个子句不正确。 – Farhan

+0

纠正.. thx –

0

如何:

where 
    maxViewCount >= viewCount 
or viewCount = -1 
0

EDITED

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