gpt4 book ai didi

java - SQL读取表在日期之间,如果不存在仍然写为空

转载 作者:行者123 更新时间:2023-12-01 11:17:04 25 4
gpt4 key购买 nike

我正在从三个不同的表中读取内容,效果很好。

SELECT id AS Projekt_ID, cu.name AS Projektname, effort AS Ist FROM cost_unit cu 
LEFT OUTER JOIN (SELECT p.cost_unit_id, SUM(te.effort) AS effort, p.id AS id
FROM time_entry te, project p, activity a
WHERE te.task = a.uuid AND a.costunit = p.cost_unit_id AND te.date BETWEEN
'firstTime'
AND
'secondTime'
GROUP BY p.cost_unit_id, p.id)te ON cu.uuid = te.cost_unit_id
WHERE id = " + ar[0]

如您所见,我使用变量处理日期和项目 ID,但如前所述,一切正常。

问题是,我只从表中获取恰好在该日期之间的数据。但我需要一切,如果该表中的日期之间没有时间条目,我需要它们为空,或者更好地说为 0,00。

我可以改变什么来使这项工作正常进行?这是 PostreSQL,仅供引用

最佳答案

您的 ID 字段不是来自 cost_unit,而是来自带有 LEFT 连接的子查询。尝试在查询的主要部分获取项目

SELECT p.id AS Projekt_ID, cu.name AS Projektname, coalesce(effort, 0)  AS Ist 
FROM cost_unit cu
INNER JOIN project p on p.cost_unit_id = cu.uuid
LEFT OUTER JOIN
(SELECT a.costunit, SUM(te.effort) AS effort
FROM time_entry te, activity a
WHERE te.task = a.uuid
AND te.date BETWEEN
'firstTime'
AND
'secondTime'
GROUP BY a.costunit)te ON te.costunit = p.cost_unit_id
WHERE id = " + ar[0]

关于java - SQL读取表在日期之间,如果不存在仍然写为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31698462/

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