Sql insert into语句中不存在具有的子选择
以下几点效果很好:Sql insert into语句中不存在具有的子选择,sql,db2,Sql,Db2,以下几点效果很好: SELECT ‘K’ CONCAT CHAR(PNR), FIRSTNAME, LASTNAME FROM S654321.PERSON P WHERE NOT EXISTS(SELECT * FROM S654321.CUSTOMER C WHERE C.FIRSTNAME = P.FIRSTNAME AND C.LASTNAME = P.LASTNAME) 我想在插入中使用此选择作为子选择: IN
SELECT ‘K’ CONCAT CHAR(PNR), FIRSTNAME, LASTNAME
FROM S654321.PERSON P
WHERE NOT EXISTS(SELECT *
FROM S654321.CUSTOMER C
WHERE C.FIRSTNAME = P.FIRSTNAME AND C.LASTNAME = P.LASTNAME)
我想在插入中使用此选择作为子选择:
INSERT INTO S654321.CUSTOMER
VALUES(SELECT ‘K’ CONCAT CHAR(PNR), FIRSTNAME, LASTNAME
FROM S654321.PERSON P
WHERE NOT EXISTS(SELECT *
FROM S654321.CUSTOMER C
WHERE C.FIRSTNAME = P.FIRSTNAME
AND C.LASTNAME = P.LASTNAME))
但这句话行不通
客户具有以下结构:
- KNR(客户编号)作为varchar在这种情况下不需要使用VALUES语句。试试这个
INSERT INTO S654321.CUSTOMER (KNR, FIRSTNAME, LASTNAME) SELECT ‘K’ CONCAT CHAR(PNR), FIRSTNAME, LASTNAME FROM S654321.PERSON P WHERE NOT EXISTS(SELECT * FROM S654321.CUSTOMER C WHERE C.FIRSTNAME = P.FIRSTNAME AND C.LASTNAME = P.LASTNAME)
由于您没有提供S654321.CUSTOMER的结构,因此很难理解