Associate
- Joined
- 24 Jun 2008
- Posts
- 1,168
I mean it's not a nice bit of code but...
Code:
CREATE TABLE #v1
(
KBID VARCHAR(50),
);
INSERT INTO #v1
VALUES ('KB1'),
('KB2'),
('KB3'),
('KB4'),
('KB5');
CREATE TABLE #v2
(
servername VARCHAR(50),
servergroup VARCHAR(50),
kbid VARCHAR(50),
installDate varchar(10)
);
insert into #v2
values ('A','A','KB1','1/1/2020'),
('B','B','KB2','1/1/2020'),
('B','B','KB3','1/1/2020'),
('C','C','KB5','1/1/2020');
with t (kbid, gap) as (select distinct kbid, 1 from #v1)
, t1 (sn,sg, gap) as (select distinct servername,servergroup, 1 from #v2)
select t.kbid, t1.sn, t1.sg, isnull(b.installDate,'NA')
from t
full outer join t1 on t.gap = t1.gap
left join #v2 b on b.kbid = t.kbid and b.servername = t1.sn
order by t.kbid, t1.sn;
drop table #v1;
drop table #v2;
Last edited: