Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql insert into语句中不存在具有的子选择_Sql_Db2 - Fatal编程技术网

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的结构,因此很难理解