技术有限,搞的很复杂,期待高手 CREATE TABLE TBA ( id int, et nvarchar(50), name1 nvarchar(50), content1 nvarchar(50), option1 nvarchar(50), total int ) drop table TBA INSERT INTO TBA select '101','区内市场','黑龙江','加油站排队情况','经常排队',42 union select '101','区内市场','黑龙江','加油站排队情况','分时段排队',21 union select '101','区内市场','黑龙江','加油站排队情况','无排队',353 union select '101','区内市场','黑龙江','是否限量销售','汽柴油均限量',46 union select '101','区内市场','黑龙江','是否限量销售','只有汽油限量',9 union select '101','区内市场','黑龙江','是否限量销售','只有柴油限量',455 union select '101','区内市场','黑龙江','是否限量销售','无限量销售',6 union select '101','区内市场','黑龙江','断档情况','只有汽油出现断档',13 union select '101','区内市场','黑龙江','断档情况','只有柴油出现断档',17 union select '101','区内市场','黑龙江','断档情况','无断档',455 union select '101','区内市场','黑龙江','断档情况','汽柴油均出现断档',31 union select '101','区内市场','黑龙江','脱销情况','汽柴油均出现脱销',NULL union select '101','区内市场','黑龙江','脱销情况','只有汽油出现脱销',2 union select '101','区内市场','黑龙江','脱销情况','只有柴油出现脱销',513 union select '101','区内市场','黑龙江','脱销情况','无脱销',1 union select '101','区内市场','黑龙江','加油站是否停业检修','否',24 union select '101','区内市场','黑龙江','加油站是否停业检修','是',35select A.*,convert(nvarchar(8),convert(numeric(18,2),convert(numeric(18,2),isnull(A.total,0))/convert(numeric(18,2),B.NUM) )* 100) + '%' 百分比 from TBA A, (select SUM(total) as NUM,content1 from TBA group by content1) B where A.content1=B.content1101 区内市场 黑龙江 加油站是否停业检修 否 24 41.00% 101 区内市场 黑龙江 加油站是否停业检修 是 35 59.00% 101 区内市场 黑龙江 加油站排队情况 分时段排队 21 5.00% 101 区内市场 黑龙江 加油站排队情况 经常排队 42 10.00% 101 区内市场 黑龙江 加油站排队情况 无排队 353 85.00% 101 区内市场 黑龙江 断档情况 汽柴油均出现断档 31 6.00% 101 区内市场 黑龙江 断档情况 无断档 455 88.00% 101 区内市场 黑龙江 断档情况 只有柴油出现断档 17 3.00% 101 区内市场 黑龙江 断档情况 只有汽油出现断档 13 3.00% 101 区内市场 黑龙江 是否限量销售 汽柴油均限量 46 9.00% 101 区内市场 黑龙江 是否限量销售 无限量销售 6 1.00% 101 区内市场 黑龙江 是否限量销售 只有柴油限量 455 88.00% 101 区内市场 黑龙江 是否限量销售 只有汽油限量 9 2.00% 101 区内市场 黑龙江 脱销情况 汽柴油均出现脱销 NULL 0.00% 101 区内市场 黑龙江 脱销情况 无脱销 1 0.00% 101 区内市场 黑龙江 脱销情况 只有柴油出现脱销 513 99.00% 101 区内市场 黑龙江 脱销情况 只有汽油出现脱销 2 0.00%
CREATE TABLE TBA ( id int, et nvarchar(50), name1 nvarchar(50), content1 nvarchar(50), option1 nvarchar(50), total int ) --drop table TBA --上面那句启不让后面都出错
if OBJECT_ID('TB') is not null drop table TB CREATE TABLE TB ( id int,et nvarchar(50), name1 nvarchar(50), content1 nvarchar(50), option1 nvarchar(50), total int ) INSERT INTO TB select '101','区内市场','黑龙江','加油站排队情况','经常排队',42 union select '101','区内市场','黑龙江','加油站排队情况','分时段排队',21 union select '101','区内市场','黑龙江','加油站排队情况','无排队',353 union select '101','区内市场','黑龙江','是否限量销售','汽柴油均限量',46 union select '101','区内市场','黑龙江','是否限量销售','只有汽油限量',9 union select '101','区内市场','黑龙江','是否限量销售','只有柴油限量',455 union select '101','区内市场','黑龙江','是否限量销售','无限量销售',6 union select '101','区内市场','黑龙江','断档情况','只有汽油出现断档',13 union select '101','区内市场','黑龙江','断档情况','只有柴油出现断档',17 union select '101','区内市场','黑龙江','断档情况','无断档',455 union select '101','区内市场','黑龙江','断档情况','汽柴油均出现断档',31 union select '101','区内市场','黑龙江','脱销情况','汽柴油均出现脱销',NULL union select '101','区内市场','黑龙江','脱销情况','只有汽油出现脱销',2 union select '101','区内市场','黑龙江','脱销情况','只有柴油出现脱销',513 union select '101','区内市场','黑龙江','脱销情况','无脱销',1 union select '101','区内市场','黑龙江','加油站是否停业检修','否',24 union select '101','区内市场','黑龙江','加油站是否停业检修','是',35select t.*,convert(varchar(10),convert(numeric(10,2),convert(numeric(10,2),isnull(t.total,0))/CONVERT (numeric(10,2),a.total))*100)+'%' 百分比 from TB as t,(select SUM(total) as total,content1 from TB group by content1) as a
CREATE TABLE TBA
(
id int,
et nvarchar(50),
name1 nvarchar(50),
content1 nvarchar(50),
option1 nvarchar(50),
total int
)
drop table TBA
INSERT INTO TBA
select '101','区内市场','黑龙江','加油站排队情况','经常排队',42 union
select '101','区内市场','黑龙江','加油站排队情况','分时段排队',21 union
select '101','区内市场','黑龙江','加油站排队情况','无排队',353 union
select '101','区内市场','黑龙江','是否限量销售','汽柴油均限量',46 union
select '101','区内市场','黑龙江','是否限量销售','只有汽油限量',9 union
select '101','区内市场','黑龙江','是否限量销售','只有柴油限量',455 union
select '101','区内市场','黑龙江','是否限量销售','无限量销售',6 union
select '101','区内市场','黑龙江','断档情况','只有汽油出现断档',13 union
select '101','区内市场','黑龙江','断档情况','只有柴油出现断档',17 union
select '101','区内市场','黑龙江','断档情况','无断档',455 union
select '101','区内市场','黑龙江','断档情况','汽柴油均出现断档',31 union
select '101','区内市场','黑龙江','脱销情况','汽柴油均出现脱销',NULL union
select '101','区内市场','黑龙江','脱销情况','只有汽油出现脱销',2 union
select '101','区内市场','黑龙江','脱销情况','只有柴油出现脱销',513 union
select '101','区内市场','黑龙江','脱销情况','无脱销',1 union
select '101','区内市场','黑龙江','加油站是否停业检修','否',24 union
select '101','区内市场','黑龙江','加油站是否停业检修','是',35select A.*,convert(nvarchar(8),convert(numeric(18,2),convert(numeric(18,2),isnull(A.total,0))/convert(numeric(18,2),B.NUM) )* 100)
+ '%' 百分比 from TBA A,
(select SUM(total) as NUM,content1 from TBA group by content1) B
where A.content1=B.content1101 区内市场 黑龙江 加油站是否停业检修 否 24 41.00%
101 区内市场 黑龙江 加油站是否停业检修 是 35 59.00%
101 区内市场 黑龙江 加油站排队情况 分时段排队 21 5.00%
101 区内市场 黑龙江 加油站排队情况 经常排队 42 10.00%
101 区内市场 黑龙江 加油站排队情况 无排队 353 85.00%
101 区内市场 黑龙江 断档情况 汽柴油均出现断档 31 6.00%
101 区内市场 黑龙江 断档情况 无断档 455 88.00%
101 区内市场 黑龙江 断档情况 只有柴油出现断档 17 3.00%
101 区内市场 黑龙江 断档情况 只有汽油出现断档 13 3.00%
101 区内市场 黑龙江 是否限量销售 汽柴油均限量 46 9.00%
101 区内市场 黑龙江 是否限量销售 无限量销售 6 1.00%
101 区内市场 黑龙江 是否限量销售 只有柴油限量 455 88.00%
101 区内市场 黑龙江 是否限量销售 只有汽油限量 9 2.00%
101 区内市场 黑龙江 脱销情况 汽柴油均出现脱销 NULL 0.00%
101 区内市场 黑龙江 脱销情况 无脱销 1 0.00%
101 区内市场 黑龙江 脱销情况 只有柴油出现脱销 513 99.00%
101 区内市场 黑龙江 脱销情况 只有汽油出现脱销 2 0.00%
(
id int,
et nvarchar(50),
name1 nvarchar(50),
content1 nvarchar(50),
option1 nvarchar(50),
total int
)
--drop table TBA
--上面那句启不让后面都出错
CREATE TABLE TB
(
id int,et nvarchar(50),
name1 nvarchar(50),
content1 nvarchar(50),
option1 nvarchar(50),
total int
)
INSERT INTO TB
select '101','区内市场','黑龙江','加油站排队情况','经常排队',42 union
select '101','区内市场','黑龙江','加油站排队情况','分时段排队',21 union
select '101','区内市场','黑龙江','加油站排队情况','无排队',353 union
select '101','区内市场','黑龙江','是否限量销售','汽柴油均限量',46 union
select '101','区内市场','黑龙江','是否限量销售','只有汽油限量',9 union
select '101','区内市场','黑龙江','是否限量销售','只有柴油限量',455 union
select '101','区内市场','黑龙江','是否限量销售','无限量销售',6 union
select '101','区内市场','黑龙江','断档情况','只有汽油出现断档',13 union
select '101','区内市场','黑龙江','断档情况','只有柴油出现断档',17 union
select '101','区内市场','黑龙江','断档情况','无断档',455 union
select '101','区内市场','黑龙江','断档情况','汽柴油均出现断档',31 union
select '101','区内市场','黑龙江','脱销情况','汽柴油均出现脱销',NULL union
select '101','区内市场','黑龙江','脱销情况','只有汽油出现脱销',2 union
select '101','区内市场','黑龙江','脱销情况','只有柴油出现脱销',513 union
select '101','区内市场','黑龙江','脱销情况','无脱销',1 union
select '101','区内市场','黑龙江','加油站是否停业检修','否',24 union
select '101','区内市场','黑龙江','加油站是否停业检修','是',35select t.*,convert(varchar(10),convert(numeric(10,2),convert(numeric(10,2),isnull(t.total,0))/CONVERT (numeric(10,2),a.total))*100)+'%' 百分比
from TB as t,(select SUM(total) as total,content1 from TB group by content1) as a