0

我有插入脚本

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 和 country 我正在使用这个子查询的唯一组合。

请指导我如何使它工作

我想在此表中插入 agg 和 country 的唯一组合。

4

2 回答 2

1

在插入语句中选择之前删除大括号并尝试

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)
于 2013-03-05T09:29:01.253 回答
0

这更简单:

Insert into tblsc_zone (ID,NAME,sup,country)
select DISTINCT SEQ.NEXTVAL,'vrt', aggg ,coun 
FROM dummy STG_VIEW

SQL可能存在DISTINCT问题NULLNULL != NULL

于 2013-03-05T09:31:52.517 回答