当表1中的字段为空时,如何仅将记录插入表2

时间:2015-07-06 14:09:45

标签: sql sql-server if-statement insert

我使用sql server并需要根据多个条件插入表中。我知道怎么做这部分。然而,这张名为“accnt”的桌子有一个" import"列为空白或其中包含x的列。我只想将来自accnt的记录插入到表2中,称为快速,如果导入的列为空,其值为''。下面的代码是我尝试过的,但它不起作用。 insert语句,而不是试图告诉它只插入导入的地方=''工作正常

IF accnt.imported = ''
then (
   INSERT INTO quick (date, num, name, account, amount) 
   SELECT invdate,
   case when accnt.accno < '7000' then code else invno end
   , ven, accno, amnt from accnt 
)

我也尝试过:

WHEN accnt.imported = ''
INSERT INTO quick (date, num, name, account, amount)
SELECT invdate,
case when accnt.accno < '7000' then code else invno end
, ven, accno, amnt from accnt

我如何让这个概念起作用?

1 个答案:

答案 0 :(得分:0)

以下是不够的?

INSERT INTO quick (date, num, name, account, amount) 
SELECT invdate,
case when accnt.accno < '7000' then code else invno end
, ven, accno, amnt 
FROM accnt
WHERE ISNULL(accnt.imported, '') = ''