2

いくつかの重複に対して単純な選択を試みますが、SQL ステートメントは常に次のエラーで終了します。

コマンドが正しく終了していません

私が持っているのはこのようなテーブルです

EAN              STR
=============    ====
8030524096397    AAAA
8030524096397    BBBB
8030524096731    XXXX
8030524096731    YYYY
8030524096324    CCCC

私の選択は実際には単純です

SELECT EAN, COUNT(*) FROM ean GROUP BY ean HAVING COUNT(*) > 1;

結果:

EAN               COUNT(*)
=============     ========
8030524096397        2
8030524096731        2

ここまでは大丈夫!今、私STRは複製が欲しいので、これを試してください

SELECT * FROM EAN E 
    INNER JOIN ( SELECT EAN, COUNT(*) FROM ean GROUP BY ean HAVING COUNT(*) > 1 )  
R ON 
E.EAN = R.EAN;

しかし、これによりこのエラーが発生します。

それはまさにこれを言います:

SELECT * FROM EAN E
INNER JOIN ( SELECT EAN, COUNT(*) FROM ean GROUP BY ean HAVING COUNT(*) > 1 )  R ON
^
Error: Command not properly ended

私は何を間違っていますか?

DB への情報: Gupta Centura SQLBase 7.0.1

4

3 に答える 3

0

ASこれを試してください(キーワードを使用してテーブルにエイリアスを追加します)

SELECT * FROM EAN AS E 
INNER JOIN 
(SELECT EAN, COUNT(*) FROM ean GROUP BY ean HAVING COUNT(*) > 1) AS R 
ON 
E.EAN = R.EAN;
于 2015-11-02T11:44:25.323 に答える