gpt4 book ai didi

mysql - 如何在一个 mysql 查询中获得所有这些结果?

转载 作者:行者123 更新时间:2023-11-29 08:18:34 25 4
gpt4 key购买 nike

我需要从 MySQL 输出 5 个数字。它必须在一个查询中。

我有一个名为 recursos_ humanos 的表。

我需要的第一个数字是 recursos_ humanos 中分配给一个特定项目的每一行的“monto”列的总和。

以下是如何获取每行的所有“monto”。

SELECT `recursos_humanos`.`monto` 
FROM `recursos_humanos`,
`recursos_asignados`
WHERE `recursos_humanos`.`id`=`recursosh_asignados`.`recursoID`
AND `recursosh_asignados`.`proyectoID`=’1’

我需要的第二个数字来自表“recursos”。我想要分配给一个特定项目的“recursos”中每一行的“monto”列的总和(是的,与第一个相同,但区别在于您不需要内部联接来获取值)

以下是如何获取“recursos”中每一行的所有“monto”

SELECT `recursos`.`monto` 
FROM `recursos`
WHERE proyecto='1'

第三个数字是第一个数字 + 第二个数字 + 'mano_de_obra'。

通过以下查询您将获得“mano_de_obra”:

SELECT `proyecto`.`mano_de_obra` 
FROM `proyecto`
WHERE `did`='1'

第四个数字是“mano_de_obra”,所以你按照我在第三点告诉你的那样得到它。

最后一个数字是:第三个数字 % 第四个数字

预先感谢您的帮助:)

最佳答案

假设您的基本查询是正确的,如果您只使用一些 Variables和美好的旧时尚UNION解决办法很简单。

变量将使我们更容易保留过去所做的数字,例如第三种情况,其中数字等于第一个 + 第二个 + 另一个,以及最后一种情况,其中第三个数字%第四。

使用UNION 语句会将多个SELECT 语句的结果合并为一个结果。

我注意到在您提供的 SQL 中,您在找到正确的列后没有使用 SUM() 。我认为有必要的地方已经补充了。

SET @One = (SELECT SUM(`recursos_humanos`.`monto`)
FROM `recursos_humanos`,`recursos_asignados`
WHERE `recursos_humanos`.`id`=`recursosh_asignados`.`recursoID`
AND `recursosh_asignados`.`proyectoID`=’1’);

SET @Two = (SELECT SUM(`recursos`.`monto` )
FROM `recursos`
WHERE proyecto='1');

SET @Four = (SELECT `proyecto`.`mano_de_obra`
FROM `proyecto`
WHERE `did`='1');

SET @Three = (@Four + @One + @Two);

SET @Five = (SELECT MOD(@Three, @Four));

SELECT @One
UNION ALL
SELECT @Two
UNION ALL
SELECT @Three
UNION ALL
SELECT @Four
UNION ALL
SELECT @Five

关于mysql - 如何在一个 mysql 查询中获得所有这些结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20035375/

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