DB2 V9 Z/O 上
3 行以下のクエリ。
SELECT J01_REGION, I20_MMS_NO, I20_CONSUMER_ID, I21_CONSUMER_ID, I21_CASE_ID,
I42_FIN_MGR_PROV, J01_PROVIDER, I21_CASE_OPEN_DT, I42_FM_BEG_DT
FROM SERDB.I20_CONSUMER_T INNER JOIN SERDB.I21_CONS_CASE_T ON I20_CONSUMER_ID =
I21_CONSUMER_ID
INNER JOIN SERDB.I42_FIN_MGR_T ON I21_CASE_ID = I42_CASE_ID
INNER JOIN SERDB.J01_PROVIDER_T ON I42_FIN_MGR_PROV = J01_PROVIDER
WHERE J01_REGION = 2
AND I20_CONSUMER_ID = 96603
私が望むのは、I21_CASE_OPEN_DT と I42_FM_BEG_DT の MAX 値を使用して、クエリが 1 行だけを返すことです。私が使用する場合:
SELECT J01_REGION, I20_MMS_NO, I20_CONSUMER_ID, I21_CONSUMER_ID, I21_CASE_ID, MAX
(I21_CASE_OPEN_DT), MAX(I42_FM_BEG_DT), I42_FIN_MGR_PROV, J01_PROVIDER
FROM SERDB.I20_CONSUMER_T INNER JOIN SERDB.I21_CONS_CASE_T ON I20_CONSUMER_ID =
I21_CONSUMER_ID
INNER JOIN SERDB.I42_FIN_MGR_T ON I21_CASE_ID = I42_CASE_ID
INNER JOIN SERDB.J01_PROVIDER_T ON I42_FIN_MGR_PROV = J01_PROVIDER
WHERE J01_REGION = 2
AND I20_CONSUMER_ID = 96603;
SQL0122N GROUP BY 句のない SELECT ステートメントの SELECT 句に列名または式と列関数が含まれているか、列名または式が SELECT 句に含まれているが GROUP BY 句には含まれていません。SQLSTATE=42803
私が使用する場合:
SELECT J01_REGION, I20_MMS_NO, I20_CONSUMER_ID, I21_CONSUMER_ID, I21_CASE_ID,
I42_FIN_MGR_PROV, J01_PROVIDER, I21_CASE_OPEN_DT, I42_FM_BEG_DT
FROM SERDB.I20_CONSUMER_T INNER JOIN SERDB.I21_CONS_CASE_T ON I20_CONSUMER_ID =
I21_CONSUMER_ID
INNER JOIN SERDB.I42_FIN_MGR_T ON I21_CASE_ID = I42_CASE_ID
INNER JOIN SERDB.J01_PROVIDER_T ON I42_FIN_MGR_PROV = J01_PROVIDER
WHERE J01_REGION = 2
AND I20_CONSUMER_ID = 96603
AND MAX(I21_CASE_OPEN_DT)
AND MAX(I42_FM_BEG_DT);
受け取りました: SQL0199N 「AND」に続く予約語「AND」の使用は無効です。予想されるトークンには、「MICROSECONDS MICROSECOND SECONDS SECOND MINUTES MINUTE HOURS」が含まれる場合があります。SQLSTATE=42601
他に何ができるかについて誰か提案がありますか?
ありがとうございました