插入是或基于在不同的表中等于字段没有值(inserting yes or no values bas

2019-10-17 01:31发布

我创建了名为LeadInventor场,

我想要的SQL Server做的是插入是到LeadInventor场如果从第一个发明者表的名称相匹配的发明者表。 第一发明人表具有名称作为一个字段,发明表已经分开他们第一次也是最后

这是编码我到目前为止,我知道错了。

if inventor.InventorFirst + ' ' +inventor.InventorLast  = firstinventor.firstinventorname
insert into Inventor(LeadInventor) values ('Yes')
else insert into Inventor(leadinventor) values ('No');

我想知道的是如何解决呢,还是让它会做什么,我要求它重新写呢?

Answer 1:

像这样的事情?

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


Answer 2:

我认为,内部联接用的情况下会做,因为你是匹配的字符串

UPDATE INV
SET LeadInventor =
CASE WHEN fi.FirstInventorName为null,则“不”当fi.FirstInventorName =“”,那么“不” --assuming你想NO甚至blankfirst名称,如果不删除此行
ELSE“是”
END从Inventor INV
INNER JOIN FirstInventor firstinv ON firstinv.FirstInventorName = inv.InventorFirst + '' + inv.InventorLast



文章来源: inserting yes or no values based on fields in different tables being equal