原贴http://topic.csdn.net/u/20110328/17/a50d7782-b44d-43d6-bb6c-d13f44e1d833.html建了一个F表time nchar(10) Checked
Unchecked 里面有1,2,3到24数据
我用了你的那个SQL语句排序出现问题,用上个贴子的测试数据排序是没有问题的,还请F姐,帮忙看一下
select
ltrim(isnull(DATEPART(hh,a.过帐时间),f.time)) as 发货过帐时间,
ISNULL(ltrim(sum(体积)),'') as 汇总体积
from
f full join sell a
on
DATEPART(hh,a.过帐时间)=f.time
group by
DATEPART(hh,过帐时间),f.time
union all
select '过帐时间','体积汇总'
union all
select
ltrim(isnull(DATEPART(hh,a.接收时间),f.time)) as 接收时间,
ISNULL(ltrim(sum(体积)),'')
from
f full join sell a
on
DATEPART(hh,a.接收时间)=f.time
group by
DATEPART(hh,接收时间),f.time
Unchecked 里面有1,2,3到24数据
我用了你的那个SQL语句排序出现问题,用上个贴子的测试数据排序是没有问题的,还请F姐,帮忙看一下
select
ltrim(isnull(DATEPART(hh,a.过帐时间),f.time)) as 发货过帐时间,
ISNULL(ltrim(sum(体积)),'') as 汇总体积
from
f full join sell a
on
DATEPART(hh,a.过帐时间)=f.time
group by
DATEPART(hh,过帐时间),f.time
union all
select '过帐时间','体积汇总'
union all
select
ltrim(isnull(DATEPART(hh,a.接收时间),f.time)) as 接收时间,
ISNULL(ltrim(sum(体积)),'')
from
f full join sell a
on
DATEPART(hh,a.接收时间)=f.time
group by
DATEPART(hh,接收时间),f.time
DATEPART(hh,a.过帐时间)>=18就可以了
F姐这句加在那里?
在最后面加上 ORDER BY 过帐时间
提示消息 207,级别 16,状态 1,第 22 行
列名 '过帐时间' 无效。
消息 104,级别 16,状态 1,第 22 行
如果该语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则 ORDER BY 项必须出现在选择列表中。还请F姐帮忙!
1
10 578.234
10 6.8328
11 0.033
11 762.201
12
12 1076.12
13 370.563
13 331.456
14 3074.21
14 5014.51
15 2281.34
15 2219.77
16 2110.26
16 1159.64
17 2998.5
17 3022.74
18 504.818
18
19 4686.31
19 4064.94
2
2
20 900.412
20 1550.18
21 2181.12
21 1415.35
22
22
23
23
24
24
3
3
4
4
5
5
6
6
7
7
8
8
9 110.279
9
发货过帐时间 体积汇总
改了也不行,问题依旧,请F姐帮忙看看
过帐时间与接收时间 都是datetime格式,F表内time格式为int,
过账时间 汇总体积
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
过帐时间 体积汇总
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 当sell表无数据的时候查询时,排序正常!请各位大大,指点一下!