Это мой код. Моя проблема связана с тем, что у меня есть. Мне пришлось внести некоторые изменения для обработки кода sas в тераданных, и поэтому мне нужно было исключить GROUP BY, и я должен использовать предложение WHERE, а не HAVING, сохраняя те же условия. К сожалению, я застрял, и поэтому прошу ваших предложений.
SELECT t1.COD_PRODT,
t1.COD_RESID_,
t1.COD_DIVISA,
t1.COD_ABI,
t1.COD_NDG,
t1.COD_KTO,
t1.COD_PAESE,
t1.DAT_SCA,
t1.DAT_ACC,
t1.DAT_EST,
(COUNT(t1.COD_ABI)) AS COUNT_of_COD_ABI
FROM WORK.A_VE_ES_DB_ANAGR_CONTO_CT_TT t1
GROUP BY t1.COD_ABI,
t1.COD_KTO
HAVING (
CASE WHEN COUNT_of_COD_ABI > 1 AND t1.DAT_EST IS NOT NULL THEN 1
WHEN COUNT_of_COD_ABI > 1 AND t1.DAT_EST IS NULL THEN 0
WHEN COUNT_of_COD_ABI = 1 THEN 1
ELSE 0 END
) = 1
ORDER BY COUNT_of_COD_ABI DESC,
t1.COD_ABI,
t1.COD_KTO,
t1.COD_NDG
Я сделал что-то в этом роде, но оказалось, что это устраняет дубликаты, а мне нужно их также внести в анализ. ..
where (COUNT_of_COD_ABI =
CASE
WHEN COUNT_of_COD_ABI> 1 AND P2.DAT_EST IS NOT NULL THEN 1
WHEN COUNT_of_COD_ABI> 1 AND P2.DAT_EST IS NULL THEN 0
WHEN COUNT_of_COD_ABI = 1 THEN 1
ELSE 0
end )
Вы можете мне с этим помочь?