我使用左外连接在SQL中加入了两个表(见下文).
是否可以用其他数据填充空单元格?
(来自小提琴)
CREATE TABLE Data1
(cost_type nvarchar(10), contract nvarchar(10))
;
INSERT INTO Data1
(cost_type, contract)
VALUES
('LABR', 'contract1'),
('EQP', ''),
('RST', 'contract1')
;
CREATE TABLE data2
(cost_type nvarchar(10), contract nvarchar(10), Name nvarchar(max))
;
INSERT INTO data2
(cost_type,contract,Name)
VALUES
('LABR','contract1','John'),
('MAT','contract1','John'),
('EQP','','')
;
Run Code Online (Sandbox Code Playgroud)
当前正在运行的查询:
select * from data1 dt1
left outer join data2 dt2 on dt1.cost_type=dt2.cost_type
Run Code Online (Sandbox Code Playgroud)
我需要的结果如下:
COST_TYPE CONTRACT NAME
LABR, contract1, John
EQP, contract1, John
RST, contract1, John
Run Code Online (Sandbox Code Playgroud)
此结果基于查找CONTRACT列的最常用值并使用该值替换所有空值.我需要为NAME列做同样的事情.