2

Oracle データベースに次の構造のテーブルがあります。

CREATE TABLE PASSENGERS
(ID VARCHAR2(6),
 PASSPORTNO VARCHAR2(14));

複数回登録した乗客のIDを取得したい。そのために、次のクエリを実行します。

SELECT ID FROM PASSENGERS WHERE PASSPORTNO IN 
  (SELECT PASSPORTNO FROM PASSENGERS
     GROUP BY PASSPORTNO 
     HAVING COUNT(*)>1);

しかし、「サポートされていない文字セット」エラーが発生します。私が見逃しているポイントは何ですか?

4

2 に答える 2

2

ほとんどの場合、データの問題のようです。問題の原因となっている正確なデータ行を確認してください。

使用: DML エラー ロギング- http://www.oracle-base.com/articles/10g/dml-error-logging-10gr2.php

ところで、あなたはやってGROUP BY passportnoいます。それは正しいですか?(これは、複数のパスポートが同じパスポート番号を持つことができることを意味します)。私はそれがあるべきだと思いますGROUP BY id

于 2013-04-20T20:48:11.110 に答える