gpt4 book ai didi

MYSQL 在子查询中引用外部字段 --- SUM 与其他列不同

转载 作者:可可西里 更新时间:2023-11-01 08:51:20 27 4
gpt4 key购买 nike

我无法解决这个问题...希望有人能帮助我...我收到了这个查询:

  SELECT V.ID, ....,

(SELECT SUM(D.value)
FROM E
LEFT JOIN I ON E.ID = I.f1
LEFT JOIN D ON I.f2 = D.ID
WHERE E.ID_ven = V.ID) inc

FROM ven V
WHERE V.ID=....

问题是:我必须 SUM(D.values) 但仅限于 DISTINCT D.ID 值。我尝试使用以下子查询:

  SELECT V.ID,...., 

(SELECT SUM(D.value) FROM (
SELECT DISTINCT D.ID, D.value
FROM E
LEFT JOIN I ON E.ID = I.f1
LEFT JOIN D ON I.f2 = D.ID
WHERE E.ID_ven = V.ID) A1 ) inc
FROM ven V WHERE V.ID=....

但是 mysql 给了我:错误代码:1054“where 子句”中的未知列“V.ID”

最佳答案

您可以使用 GROUP BY 来完成“每个 id 的值总和”,而不是使用两个双重嵌套的 SELECT 语句。

尝试这样的查询:

SELECT V.ID,...., 
(
SELECT
D.ID, SUM(D.value)
FROM E
LEFT JOIN I ON E.ID = I.f1
LEFT JOIN D ON I.f2 = D.ID
WHERE
E.ID_ven = V.ID
GROUP BY
D.ID
) inc
FROM ven V
WHERE V.ID=....

通过删除第二个嵌套查询,您应该能够在子查询中访问 V.ID,等待它是 ven 表中的实际列当然。

关于MYSQL 在子查询中引用外部字段 --- SUM 与其他列不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644887/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com