我有插入脚本
Insert into tblsc_zone (ID,NAME,DESCRIPTION,sup,country)(
select SEQ.NEXTVAL,'vrt',NULL, ag,cid from (
select distinct STG_VIEW.aggg AS AG ,STG_VIEW.coun AS CID
FROM dummy STG_VIEW)
);
无法显示无效的列数。
但是我已经正确地定义了所有列名,并且也按照正确的顺序
select SEQ.NEXTVAL,'vrt',NULL, ag,cid from (
select distinct STG_VIEW.aggg AS AG ,STG_VIEW.coun AS CID
FROM dummy STG_VIEW)
如果我在没有这个内部查询的情况下执行
select distinct STG_VIEW.aggg AS AG ,STG_VIEW.coun AS CID
FROM dummy STG_VIEW
工作正常。
但它正在插入重复的记录。
因此它获取了我使用此子查询的agg和国家的唯一组合。
请指导我如何使其发挥作用
我想在此表中插入agg和country的唯一组合。
答案 0 :(得分:1)
在insert语句中选择之前删除大括号并尝试
Insert into tblsc_zone (ID,NAME,DESCRIPTION,sup,country)
select SEQ.NEXTVAL,'vrt',NULL, ag,cid from (
select distinct STG_VIEW.aggg AS AG ,STG_VIEW.coun AS CID
FROM dummy STG_VIEW)
答案 1 :(得分:0)
这更简单:
Insert into tblsc_zone (ID,NAME,sup,country)
select DISTINCT SEQ.NEXTVAL,'vrt', aggg ,coun
FROM dummy STG_VIEW
SQL中DISTINCT
和NULL
NULL != NULL
可能存在问题