Я выбрал следующее:
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 раза.
edit
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
мой тест показал, что ему не нравится звонить с псевдонимом.есть ли настройка, что псевдоним не распознается?