应该就是显示同款号在20天内有没有销售记录[/quote]
好吧,就先这么理解,4#的语句还得加一个end
SELECT *,状态=CASE WHEN EXISTS(SELECT 1 FROM A AS t2 WHERE t2.款号=t1.款号 AND t2.日期 >= DATEADD(DAY,-20,t1.日期) AND t2.日期 <t1.日期) THEN '有'
ELSE '无' end FROM A AS t1
[quote=引用 2 楼 shinger126 的回复:]
SELECT *,状态=CASE WHEN EXISTS(SELECT 1 FROM A AS t2 WHERE t2.款号=t1.款号 AND t2.日期 >= DATEADD(DAY,-20,t1.日期) AND t2.日期 <t1.日期) THEN '有'
ELSE '无' FROM A AS t1
这里没注意写多了一个条件
SELECT *,状态=CASE WHEN EXISTS(SELECT 1 FROM A AS t2 WHERE t2.日期=t1.日期
AND t2.款号=t1.款号 AND t2.日期 >= DATEADD(DAY,-20,t1.日期) AND t2.日期 <t1.日期) THEN '有'
ELSE '无' FROM A AS t1