1.将两张表求并用 union all(比用union效率高)
2.求上个月的当天 用 dateAdd(month,-1,日期)
3.求两个时间相隔多少天用DATEDIFF(DAY,@RQ3,@RQ4)
4.判断数据是否为空用 is null
5.convert函数:将日期转换成字符串CONVERT(VARCHAR(10),@RQ2,120) 其中的第三个参数是日期格式
6.ROWCOUNT_BIG()求总共有多少行数据
7.DISTINCT:去除相同数据
8.分组和distinct的综合使用
SELECT SUM(CNT1) AS CNT1,SUM(CNT2) AS CNT2 FROM (
SELECT DISTINCT B.SPDM,GG1DM,C.FJSX2,CASE WHEN A.SHRQ BETWEEN '2013-9-9' AND '2013-9-15' THEN 1 ELSE 0 END AS CNT1,
CASE WHEN A.SHRQ BETWEEN '2013-9-16' AND '2013-9-22' THEN 1 ELSE 0 END AS CNT2
FROM SDPHD A INNER JOIN SDPHDMX B ON A.DJBH=B.DJBH
INNER JOIN SHANGPIN C ON C.SPDM=B.SPDM WHERE C.FJSX2 IN('5') AND A.QDDM IN('019')AND C.BYZD8='2013'AND
A.SHRQ BETWEEN '2013-9-9'AND'2013-9-29'
) A