列中的拆分数据(如果为非空数据为null)

时间:2013-01-30 15:15:51

标签: sql

list    dept_no 
-----   -------
kamam       200
salam       300
galam       400

必填表是:

id        dept_no
-----     -------
kamam      null
null       200 
salam      null
null       300
galam      null
null       

3 个答案:

答案 0 :(得分:2)

使用UNION ALL似乎有效:

select list, dept_no
from
(
  select id, list, null as dept_no
  from emp
  union all
  select id, null , dept_no
  from dept
) 
order by id, list

请参阅SQL Fiddle with Demo

答案 1 :(得分:1)

你只想要这个联盟吗?

select id, NULL as dept_no
from t
union all
select NULL as id, dept_no
from t

答案 2 :(得分:1)

如果您希望得到以下格式的结果:

t dept_no
1 null
null 200
2 null
null 300
3 null
null 400

然后使用以下查询:

select t, NULL as dept_no
from table
union all
select NULL as t, dept_no
from table