0

我不知道是什么问题

SELECT 
    DP.CODE_VALEUR CODE,
    MAX(VA.CODE_TYPE_VALEUR) CODE_TYPE_VALEUR,
    MAX(VA.NOM_VALEUR) STOCK_NAME,
    (SUM(COURS_ACQ_VALEUR) / SUM(QUANTITE_VALEUR)) CMP,
    MAX(DP.CODE_COMPTE) CODE_COMPTE,
    SUM(DP.QUANTITE_VALEUR) QTEVALEUR,
    round(SUM(DP.VALORISATION_BOURSIERE), 3) VALORISATION_BOURSIERE,
    round((SUM(DP.VALORISATION_BOURSIERE) / SUM(DP.QUANTITE_VALEUR)),
            3) COURS
FROM
    DETAILPORTEFEUILLE DP,
    VALEUR VA
WHERE
    DP.CODE_COMPTE IN (SELECT 
            P.CODE_COMPTE_RATTACHE
        FROM
            PROCURATION P
        WHERE
            P.IDWEB_MASTER = 8
                AND NVL(P.CAN_SEE_PORTEFEUILLE, 0) != 0)
        AND VA.CODE_VALEUR = DP.CODE_VALEUR
        AND DP.QUANTITE_VALEUR > 0
        AND DP.CODE_VALEUR = 'TN0007250012'
4

3 回答 3

1

SELECT 列表不能同时包含组函数(例如 AVG、COUNT、MAX、MIN、SUM、STDDEV 或 VARIANCE)和单个列表达式,除非单个列表达式包含在 GROUP BY 子句中。

从 SELECT 列表中删除组函数或单个列表达式,或添加包含所有列出的单个列表达式的 GROUP BY 子句。

或添加

按 DP.CODE_VALEUR 分组

于 2013-07-08T10:42:02.603 回答
0

为了使用聚合函数 SUM、MAX 等,您需要告诉数据库对至少一列进行 GROUP BY。

于 2013-07-08T10:26:17.627 回答
0

尝试添加

GROUP BY DP.CODE_VALEUR
于 2013-07-09T08:24:28.973 回答