首页 > 解决方案 > SQL:如何使用另一个表中的值和整数插入 INTO

问题描述

我正在尝试插入 3 列。第一列需要另一个表的条目,第二列只需要一个值,第三列是 NULL。到目前为止,我有这个:

INSERT INTO PAT_CARAC ( NO_PATIENT, NO_CARACTE, DATEEXPIRA)
SELECT pp.NO_PATIENT,'16', NULL  
FROM    PAT_PATIENT pp 
INNER JOIN PAT_CARAC pc ON pp.NO_PATIENT = pc.NO_PATIENT 
WHERE   pp.NO_CLINIQUE = 2;

我不断收到 PRIMARY 或 UNIQUE KEY 约束。任何帮助将不胜感激。谢谢!

标签: sql

解决方案


很可能您的 PAT_CARAC.NO_PATIENT 字段是主键,并且您的查询正在生成重复值

虽然你可以试试

INSERT INTO PAT_CARAC (NO_PATIENT, NO_CARACTE, DATEEXPIRA) SELECT DISTINCT pp.NO_PATIENT,'16', NULL FROM PAT_PATIENT pp INNER JOIN PAT_CARAC pc ON pp.NO_PATIENT = pc.NO_PATIENT WHERE pp.NO_CLINIQUE = 2;


推荐阅读