我有以下查询: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