我正在尝试复制从sybase数据库生成的表,我没有代码但可以访问数据库。
我几乎完美地复制了这个表,但因为我使用了一个联合体,我有重复的行,它们应该合并在一起:
select distinct id, dn, pn, null as sp
from dn
union
select id, 'DN', 'PN', sp
from sp
order by id
但我生产,例如:
pn, dn, pn, sp
'110','Liversage','Consultant', null
'110','DN ','PN ','Cardiac'
基本上我希望null用心脏填充,DN和PN和第二行合并到第一行?
答案 0 :(得分:0)
为什么不这样做:
SELECT ID, COALESCE(A.dn, B.dn), COALESCE(A.pn, B.pn), COALESCE(A.sp,B.sp)
FROM dn A
LEFT OUTER JOIN sp B
ON A.id = B.id
将从每个表中选择第一个非空值。我对你的表格的了解有限,无法给出完整的答案,但是你可能会对这种方法有更好的运气,因为工会不会做你想做的事情。