我有以下查詢:SQL查詢來計算孩子總價值爲父母
select
AD.ALLOCATION_INSTR_ID AS "Allocation Id"
,AD.ALLOCATION_INSTR_VERSION AS "Allocation Version"
,SUM(AC.CHARGE_AMOUNT) AS "Allocation Commission"
,AD.ALLOCATION_ID AS "Sub Allocation Id"
,AD.ALLOCATION_VERSION AS "Sub Allocation Version"
,AC.CHARGE_AMOUNT AS "Allocation Commission"
,B.BLOCK_ID AS "Block Id"
,B.BLOCK_VERSION AS "Block Version"
,B.BLOCK_SOURCE_SYSTEM AS "Block Source System"
,BC.CHARGE_AMOUNT AS "Block Commission"
FROM EQ_MO_ALLOCATION_DETAIL AS AD
LEFT OUTER JOIN EQ_MO_ALLOCATION_DETAIL_CHARGE AS AC
ON AC.ALLOCATION_DETAIL_OID = AD.ALLOCATION_DETAIL_OID
JOIN EQ_MO_ALLOCATION_INSTR AS AI
ON AI.ALLOCATION_INSTR_ID = AD.ALLOCATION_INSTR_ID
AND AI.ALLOCATION_INSTR_VERSION = AD.ALLOCATION_INSTR_VERSION
JOIN EQ_MO_ALLOCATION_INSTR_LINKAGE AS AL
ON AI.ALLOCATION_INSTR_OID = AL.ALLOCATION_INSTR_OID
JOIN EQ_MO_BLOCK AS B
ON B.BLOCK_ID = AL.LINK_PARENT_ID
AND B.BLOCK_VERSION = AL.LINK_PARENT_VERSION
LEFT OUTER JOIN EQ_MO_BLOCK_CHARGE AS BC
ON BC.BLOCK_OID = B.BLOCK_OID
WHERE AD.LAST_UPDATE_TIME BETWEEN '2013-01-17 00:00:00' AND '2013-01-18 00:00:00'
AND AC.CHARGE_NAME = 'Commission'
AND BC.CHARGE_NAME = 'COMMISSION'
AND AD.ALLOCATION_INSTR_VERSION = (SELECT MAX(AD1.ALLOCATION_INSTR_VERSION)
FROM EQ_MO_ALLOCATION_DETAIL AD1
WHERE AD1.ALLOCATION_INSTR_VERSION = AD.ALLOCATION_INSTR_VERSION)
AND B.BLOCK_TIME = (SELECT MAX(b1.BLOCK_TIME)
FROM EQ_MO_BLOCK b1
WHERE b1.BLOCK_ID = B.BLOCK_ID
AND b1.BLOCK_VERSION = B.BLOCK_VERSION)
AND AI.VENDOR_PRODUCT = 'OA'
GROUP BY AD.ALLOCATION_INSTR_ID
ORDER BY 1,2
我試圖通過收集的總充電量來計算總撥款委員會,並顯示相對於父ID「分配ID」
但是我GROUP BY是一些什麼脫節:
我參加分組孩子佣金他們的父母,這是位於另一個表,但我連接兩個通過:
LEFT OUTER JOIN EQ_MO_ALLOCATION_DETAIL_CHARGE AS AC
ON AC.ALLOCATION_DETAIL_OID = AD.ALLOCATION_DETAIL_OID
表AD包含可以在第一次選擇中看到的父ID。
不過我給出的錯誤:
ERROR: Attribute AD.ALLOCATION_INSTR_VERSION must be GROUPed or used in an aggregate function
Downvoted,沒有理由? – Will
從我所看到的,選擇列表中的每個字段,除了SUM(AC.CHARGE_AMOUNT)作爲「分配委員會」,應該在逗號後面的GROUP BY AD.ALLOCATION_INSTR_ID行中出現。如果您只是添加AD.ALLOCATION_INSTR_VERSION,那麼您可能最終會出現另一個字段的相同錯誤。 – Kitet
幫助示例數據和所需輸出會更容易。 – DMK