select 品名,case when 大号数量> 0 then '大号'+convert(大号数量 as Char) + ',' else '' end + case when 中号数量> 0 then '中号'+convert(中号数量 as Char) + ',' else '' end +case when 小号数量> 0 then '小号'+convert(小号数量 as Char) + ',' else '' end
from TABLE
from TABLE
解决方案 »
- 我要做进销存,麻烦帮忙设计表,物料表,材料进出库表,当前库存表,要考虑先进先出,移动加权平均,不核算成本,谢谢!
- sql更新字段路径
- 200分,求个sql,同一个表用同一个字段的条件查同一个字段的结果
- 一个超简单的问题--关于左连接
- 高手请进来讨论,百分相送,sql server中调用oracle的函数或是存储过程,急!急!急!!!
- 求一道SQL算法
- 请教高手:mssql 多表查询优化(有十个表,相同字段并联查询)
- sql数据关联问题
- Sql Server2005表越大查询越慢,谁有好办法?
- 如何查看数据库中一个表所占的空间
- 初学者问题之四: 客户端用户密码和权限的一点设计问题
- 帮忙想一句的sql语句
(
[编号] int,
[品名] varchar(10),
[大号数量] int,
[中号数量] int,
[小号数量] int
)
insert A
select 1,'儿童床',10,2,0 union
select 2,'木床',3,0,5--测试
select [品名],
[数量]=(
(case when sum([大号数量])>0 then ' 大号'+convert(varchar,sum([大号数量])) else '' end)+
(case when sum([中号数量])>0 then ' 中号'+convert(varchar,sum([中号数量])) else '' end)+
(case when sum([小号数量])>0 then ' 小号'+convert(varchar,sum([小号数量])) else '' end)
)
from A
group by [品名]
--删除测试环境
drop table A--结果
/*
品名 数量
---------- -----------------
儿童床 大号10 中号2
木床 大号3 小号5(所影响的行数为 2 行)
*/
--测试环境
create table A
(
[编号] int,
[品名] varchar(10),
[大号数量] int,
[中号数量] int,
[小号数量] int
)
insert A
select 1,'儿童床',10,2,0 union
select 2,'木床',3,0,5
--查询
--测试
select [品名],
[数量]=case when([品名])='木床' then convert(varchar(20),sum([大号数量]+[中号数量]+[小号数量])) else (
(case when sum([大号数量])>0 then ' 大号'+convert(varchar,sum([大号数量])) else '' end)+
(case when sum([中号数量])>0 then ' 中号'+convert(varchar,sum([中号数量])) else '' end)+
(case when sum([小号数量])>0 then ' 小号'+convert(varchar,sum([小号数量])) else '' end)
)
End
from 表a
group by [品名]
--结果
品名 数量
儿童床 大号10 中号2
木床 8(所影响的行数为 2 行)