小编roc*_*ell的帖子

SQl离开外连接以填充null

我使用左外连接在SQL中加入了两个表(见下文).

是否可以用其他数据填充空单元格?

sqlfiddle

(来自小提琴)

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列做同样的事情.

sql sql-server join

0
推荐指数
1
解决办法
3438
查看次数

标签 统计

join ×1

sql ×1

sql-server ×1