日期:2014-05-18  浏览次数:20355 次

数据分类
请问我有个表a如下
名称               数量
12345678       40
13246587       32
21345678       33
21432668       34
如何统计才能达到以下效果
类别           名称         型号         颜色         数量
1                 1234         56             78             40
1                 1324         65             87             32
2                 2134         56             78             33
2                 2143         26             68             34
谢谢大家帮忙!

------解决方案--------------------
select left(n,1) '类别 ',left(n,4) '名称 ',substring(n,5,2) '型号 ',right(n,2) '颜色 ',c '数量 ' from a
------解决方案--------------------
表结构
create table a
(n varchar(10),c int)
然后插入那四条记录
最后执行查询语句:
select left(n,1) '类别 ',left(n,4) '名称 ',substring(n,5,2) '型号 ',right(n,2) '颜色 ',c '数量 ' from a
------解决方案--------------------

create table A(名称 varchar(20), 数量 int)
insert A select '12345678 ', 40
union all select '13246587 ', 32
union all select '21345678 ', 33
union all select '21432668 ', 34

select
类别=left(名称, 1),
名称=substring(名称, 1, 4),
型号=substring(名称, 5, 2),
颜色=substring(名称, 7, 2),
数量
from A

--result
类别 名称 型号 颜色 数量
---- -------- ---- ---- -----------
1 1234 56 78 40
1 1324 65 87 32
2 2134 56 78 33
2 2143 26 68 34

(4 row(s) affected)