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 と国の一意の組み合わせを取得します。

それを機能させる方法を教えてください

このテーブルに 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の場合DISTINCTNULL同様に問題がある可能性があります。NULL != NULL

于 2013-03-05T09:31:52.517 に答える