首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

根据时间划分成出入库数据,该如何写sql语句

2013-12-28 
根据时间划分成出入库数据,该怎么写sql语句。现在有一份表如下:1.实物出入库时间SWCRKSJ 实物入库数RU 实物

根据时间划分成出入库数据,该怎么写sql语句。
现在有一份表如下:
1.实物出入库时间SWCRKSJ 实物入库数RU 实物出库数CHU 出入库类别LB 
 2013-07-12 0:00              0           80         出库作业
 2013-09-06 0:00      0           80         出库作业
 2013-06-08 0:00      0           80         出库作业
 2013-05-24 0:00      80          0          入库作业
 2013-05-24 0:00      80          0          入库作业
划分成流水账,该怎么写sql语句。
2.出入库流水账:
出库时间CKSJ  入库时间RKSJ   实物入库数RU 实物出库数CHU 出入库类别LB 
 2013-07-12 0:00      0              80           0           出库作业
 2013-09-06 0:00      0              80           0           出库作业
 2013-06-08 0:00      0             80           0           出库作业 
     0            2013-05-24 0:00    0            80          入库作业
     0            2013-05-24 0:00    0          80          入库作业

谢谢

[解决办法]

create table #tb(in_out_time datetime ,in_num int,out_num int,type varchar(10))
insert into #tb
select '2013-07-12 0:00','0',80,'出库作业'
union all select '2013-09-06 0:00','0',80,'出库作业'
union all select '2013-06-08 0:00','0',80,'出库作业'
union all select '2013-05-24 0:00',80,'0','入库作业'
union all select '2013-05-24 0:00',80,'0','入库作业'
go

select out_time=case when type='出库作业' then convert(varchar(10),in_out_time,120) else '0' end
,in_time=case when type='入库作业' then convert(varchar(10),in_out_time,120) else '0' end
,in_num,out_num,type
from #tb


/*
out_timein_time in_num   out_num    type
--------------------------------
2013-07-120080出库作业
2013-09-060080出库作业
2013-06-080080出库作业
02013-05-24800入库作业
02013-05-24800入库作业

*/

[解决办法]
----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-12-27 09:33:21
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
--Dec 28 2012 20:23:12 
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go 
create table [huang]([入库时间SWCRKSJ] datetime,[实物入库数RU] int,[实物出库数CHU] int,[出入库类别LB] varchar(8))
insert [huang]
select '2013-07-12 0:00',0,80,'出库作业' union all
select '2013-09-06 0:00',0,80,'出库作业' union all
select '2013-06-08 0:00',0,80,'出库作业' union all
select '2013-05-24 0:00',80,0,'入库作业' union all


select '2013-05-24 0:00',80,0,'入库作业'
--------------开始查询--------------------------

select CASE [出入库类别LB] WHEN '出库作业' THEN CONVERT(VARCHAR(30),[入库时间SWCRKSJ],120) ELSE '0' END 出库时间CKSJ,
CASE [出入库类别LB] WHEN '入库作业' THEN CONVERT(VARCHAR(30),[入库时间SWCRKSJ],120) ELSE '0' END 入库时间RKSJ,
[实物入库数RU],[实物出库数CHU],[出入库类别LB]
 from [huang]
----------------结果----------------------------
/* 
出库时间CKSJ                       入库时间RKSJ                       实物入库数RU     实物出库数CHU    出入库类别LB
------------------------------ ------------------------------ ----------- ----------- --------
2013-07-12 00:00:00            0                              0           80          出库作业
2013-09-06 00:00:00            0                              0           80          出库作业
2013-06-08 00:00:00            0                              0           80          出库作业
0                              2013-05-24 00:00:00            80          0           入库作业
0                              2013-05-24 00:00:00            80          0           入库作业
*/

热点排行