根据时间划分成出入库数据,该怎么写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 入库作业
*/