根据不同表中的字段相等,插入是或否值

时间:2012-07-20 01:49:22

标签: sql sql-server sql-server-2008 insert

我创建了一个名为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');

我想知道的是如何修复它,或重新编写它以便它能按照我的要求进行操作?

2 个答案:

答案 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

相关问题