BY GROUP:ない私が選択し、以下の式まし
Select attribut1, dateattribut, attribut3,
attribut4, attribut15, town_CODE, count(*)
from (
select attribut1, dateattribut, attribut3, attribut4, attribut15, (CASE
WHEN TO_CHAR(dateattribut,'YYYY') = '2005' THEN
CASE town_CODE
WHEN '039' THEN '078' WHEN '050' THEN '093'
WHEN '091' THEN '008' WHEN '102' THEN '093'
ELSE town_CODE end
ELSE town_CODE end) as town_CODE
from towntable) GROUP BY attribut1, dateattribut,
attribut3, attribut4,
attribut15, town_CODE
having count(*) > 1;
私は当社のサーバー上でこのクエリを実行すると、それが正常に動作。私の顧客のサーバーでは、私はオラクルのエラーORA-00979: not a GROUP BY expression
を取得します。
これまでのところ、私はケースとエイリアスに問題があることがわかりました。 これで動作します。
提案がありますか?
*私はこのステートメントで何をしようとしていますが、すべてのダブルエントリを取得することです。内側のクエリを使用して新しいコードにすべての古いコードを変更し、それらをグループ化して複数の時刻が存在するかどうかを確認します。 一部の顧客は古いコードを使用していましたが、現在は同じ町を2回持っている可能性があります。
編集
SELECT * FROM product_component_version
と私は両方に乗る:
Product Version Status
NLSRTL 10.2.0.4.0 Production
Oracle Database 10g Enterprise Edition 10.2.0.4.0 64bi
PL/SQL 10.2.0.4.0 Production
TNS for 64-bit Windows: 10.2.0.4.0 Production
EDIT2
私のテスト彼は別名で呼び出して好きではないことを私に示しました。 。 設定があり、エイリアスは認識されませんか?
だけでなく、それはあなたが両方のサーバー上からだけ自分のコードを実行する場合は、すべてのエラーを取得するか、実際のクエリは少し大きいだけのタイプミス(このattributのためのいくつかのより多くの変更) – domiSchenk
でしたか? –
でも同じエラーです:-(最初の選択でtown_codeを削除するとわかりましたが、どの町がその町であるか分かりません – domiSchenk