帮写一个简单的SQL - MS-SQL Server / 应用实例
表结构如下:
入出库 (值为:入库,出库)
客户名称
产品品名
交货数量
登记日期
要检索出: 客户名称,产品品名,前日结存数量(登记日期前一天以前的入库的交货数量合计-出库的交货数量合计),本日入库数量(登记日期那天的入库数量合计),本日出库数量(登记日期那天的出库数量合计),本日结存数量(前日结存数量+本日入库数量-本日出库数量)
检索条件:客户名称,产品品名,登记日期
SQL code:
select 客户名称,产品品名,
前日结存数量 =(select sum(case when 入出库='入库' then 交货数量 else 0 end), -sum(case when 入出库='出库' then 交货数量 else 0 end) from tb where 客户名称 = 'A' and 产品品名 = 'A01' and 登记日期<'2010-05-20'),--(登记日期前一天以前的入库的交货数量合计-出库的交货数量合计),
本日入库数量 = sum(case when 入出库='入库' then 交货数量 else 0 end),--(登记日期那天的入库数量合计),
本日出库数量 = sum(case when 入出库='出库' then 交货数量 else 0 end),--(登记日期那天的出库数量合计),
本日结存数量 = sum(case when 入出库='入库' then 交货数量 else 0 end) - sum(case when 入出库='出库' then 交货数量 else 0 end) --(前日结存数量+本日入库数量-本日出库数量)
from tb
where 客户名称 = 'A' and 产品品名 = 'A01' and 登记日期='2010-05-20'
group by 客户名称,产品品名,登记日期
xys_777:
你好。
如果条件只有:登记日期
要求:检索结果的每一条的:客户名称,产品品名不能重怎么改呀?
xys_777:
相关问答:
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......
请教高手:
以下是数据库中的三条记录,英文为字段名称
id planname TaskBeginTime Status
329 2010年03 ......
我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......
通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......