@1 SELECT * FROM ( SELECT RQ AS 日期,MONTH(RQ) AS 月份,Day(rq) as 日,DATEPART(week, rq) as 周,星期=case when DATEPART(dw, RQ)=1 then '日' when DATEPART(dw, RQ)=2 then '一' when DATEPART(dw, RQ)=3 then '二' when DATEPART(dw, RQ)=4 then '三' when DATEPART(dw, RQ)=5 then '四' when DATEPART(dw, RQ)=6 then '五' when DATEPART(dw, RQ)=7 then '六' end,市=case when (DATEPART(hh, rq) * 100 + DATEPART(mi, rq) >= 630) AND (DATEPART(hh, rq)*100+DATEPART(mi, rq) < 1030) then '1.早餐' when (DATEPART(hh, rq) * 100 + DATEPART(mi, rq) >= 1030) AND (DATEPART(hh, rq)*100+DATEPART(mi, rq) < 1400) then '2.午饭市' when (DATEPART(hh, rq) * 100 + DATEPART(mi, rq) >= 1400) AND (DATEPART(hh, rq)*100+DATEPART(mi, rq) < 1700) then '3.下午茶' when (DATEPART(hh, rq) * 100 + DATEPART(mi, rq) >= 1700) AND (DATEPART(hh, rq)*100+DATEPART(mi, rq) < 2030) then '4.晚饭市' else '5.宵夜' end,dh as 单号,deskname as 台号,je as 金额,mansl as 人数,cast(je/(CASE WHEN mansl = 0 THEN 1 ELSE mansl END) as decimal(12,2)) as 人均,opman as 收银员,fkfs as 付款方式, 日金额 = CASE WHEN DATEPART(dw, RQ)=1 THEN JE ELSE 0 END, 日人数 = CASE WHEN DATEPART(dw, RQ) = 1 THEN MANSL ELSE 0 END, 一金额 = CASE WHEN DATEPART(dw, RQ)=2 THEN JE ELSE 0 END, 一人数 = CASE WHEN DATEPART(dw, RQ) = 2 THEN MANSL ELSE 0 END, 二金额 = CASE WHEN DATEPART(dw, RQ)=3 THEN JE ELSE 0 END, 二人数 = CASE WHEN DATEPART(dw, RQ) = 3 THEN MANSL ELSE 0 END, 三金额 = CASE WHEN DATEPART(dw, RQ)=4 THEN JE ELSE 0 END, 三人数 = CASE WHEN DATEPART(dw, RQ) = 4 THEN MANSL ELSE 0 END, 四金额 = CASE WHEN DATEPART(dw, RQ)=5 THEN JE ELSE 0 END, 四人数 = CASE WHEN DATEPART(dw, RQ) = 5 THEN MANSL ELSE 0 END, 五金额 = CASE WHEN DATEPART(dw, RQ)=6 THEN JE ELSE 0 END, 五人数 = CASE WHEN DATEPART(dw, RQ) = 6 THEN MANSL ELSE 0 END, 六金额 = CASE WHEN DATEPART(dw, RQ)=7 THEN JE ELSE 0 END, 六人数 = CASE WHEN DATEPART(dw, RQ) = 7 THEN MANSL ELSE 0 END FROM (select * from diningzd WHERE 1 = 1 and rq>=#_START and rq<=#_END union all select * from diningzdold WHERE 1 = 1 and rq>=#_START and rq<=#_END ) aaa ) bbb WHERE (1 = 1)后面的红色部分啥意思呢,从我们公司新开发的收银的配置文件复制下来的,本人新手
aaa,bbb应该是给派生出来的表分别起个别名where那个条件始终成立,不用管
select * from (select 1 as id union select 2) t
看了就明白了~