日期:2014-05-17  浏览次数:20415 次

SQL 进销存应用求助
我有两个表
表A(入库)
单号,入库时间,入库商量,商品编号
R001,2013-5-1,12, SP001
表B(出库)
单号,出库时间,出库商量,商品编号
T001,2013-5-2,10,SP001

我想实现:
单号,入库时间,出库时间,商量,商品编号
R001,2013-5-1,null,12,SP001
T001,Null,2013-5-2,10,SP001
请问怎么写语句才能实现?谢谢!

------解决方案--------------------
select *
from (
select 单号,入库时间,null as [出库时间],入库商量,商品编号
from a
union all 
select 单号,null as 入库时间, [出库时间],入库商量,商品编号
from b)a

------解决方案--------------------

SELECT 单号,
CASE 类别 WHEN 1 THEN 时间 ELSE NULL END AS 入库时间,
CASE 类别 WHEN 2 THEN 时间 ELSE NULL END AS 出库时间,
商量,
商品编号
FROM (
  SELECT 单号,入库时间 AS 时间,入库商量 AS 商量,商品编号,1 AS 类别 
    FROM 表A
  UNION ALL SELECT 单号,出库时间 AS 时间,出库商量 AS 商量,商品编号,2 AS 类别 
    FROM 表B ) TB
ORDER BY 商品编号,时间,类别