我创建了一个名为LeadInventor的字段,
我希望SQL Server做的是,如果第一个Inventor表中的名称与Inventor表匹配,则在LeadInventor字段中插入yes。第一个发明人表将名称作为一个字段,发明人表将它们分开第一个和最后一个
这是我到目前为止的编码,我知道这是错误的。
if inventor.InventorFirst + ' ' +inventor.InventorLast = firstinventor.firstinventorname
insert into Inventor(LeadInventor) values ('Yes')
else insert into Inventor(leadinventor) values ('No');
我想知道的是如何修复它,或重新编写它以便它能按照我的要求进行操作?
答案 0 :(得分:4)
这样的东西?
UPDATE i
SET LeadInventor =
CASE
WHEN fi.FirstInventorName IS NULL THEN 'No'
ELSE 'Yes'
END
FROM Inventor i
LEFT JOIN FirstInventor fi
ON i.InventorFirst + ' ' + i.InventorLast = fi.FirstInventorName
答案 1 :(得分:0)
我认为内联合与案例一样,因为你匹配字符串
更新邀请
SET LeadInventor =
案件
当fi.FirstInventorName为NULL然后'否'
当fi.FirstInventorName =''那么'不' - 假设你甚至不想空白名字,如果没有删除这条线
ELSE'是'
结束
来自Inventor inv
INNER JOIN FirstInventor firstinv
ON firstinv.FirstInventorName = inv.InventorFirst +''+ inv.InventorLast