插入脚本,select子句不起作用

时间:2013-03-05 09:08:13

标签: sql

我有插入脚本

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的唯一组合。

2 个答案:

答案 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中DISTINCTNULL NULL != NULL可能存在问题