サブクエリを使用してCOUNTをクエリすると、H2の異常な動作が認識されます。"重複列名"を持つH2データベースでサブクエリに失敗しました
テーブルを準備します。
CREATE TABLE Foo
(
id INT PRIMARY KEY AUTO_INCREMENT,
fieldName VARCHAR(30) NOT NULL,
);
テスト単純なクエリ(正常に動作します):
SELECT F1.id, F2.id from Foo as F1 INNER JOIN Foo F2 on F1.id = F2.id
数とテストと同じクエリ:
SELECT count(*) FROM (
SELECT F1.id, F2.id from Foo as F1 INNER JOIN Foo F2 on F1.id = F2.id
) q;
は、次のエラーを得た:
[42S21][42121] Duplicate column name "ID"; SQL statement: select count(*) FROM (
回避策はありますか?
更新日: 問題はサブクエリ列名を準備する際に消去その元のテーブル名にあったし、実際に私が持っている:
SELECT count(*) FROM (
SELECT id, id from q
);
(Abdul Rasheedで述べたように)エイリアスを追加する問題を修正。
を、F2.idはそうuはエイリアスを使用して、HV、名前がIDです持っています。例F1.idをid1、F2.idをid2 ... –
として結合することは意味をなさない。 –