如何在一个mysql查询中获得所有这些结果?
我需要从MySQL输出5个数字。它必须在一个查询中 我有一张名为recursos_humanos的桌子 我需要的第一个数字是recursos_humanos中指定给一个特定项目的每一行的“monto”列的总和 下面是如何获得每行的所有“蒙托”如何在一个mysql查询中获得所有这些结果?,mysql,sql,Mysql,Sql,我需要从MySQL输出5个数字。它必须在一个查询中 我有一张名为recursos_humanos的桌子 我需要的第一个数字是recursos_humanos中指定给一个特定项目的每一行的“monto”列的总和 下面是如何获得每行的所有“蒙托” SELECT `recursos_humanos`.`monto` FROM `recursos_humanos`, `recursos_asignados` WHERE `recursos_humanos`.`id`=`recur
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”,所以你可以像我在第三点告诉你的那样理解它
最后一个数字是:第三个数字%第四个数字
提前感谢您的帮助:)假设您的基本查询是正确的,如果您只使用一些旧的方式,那么解决方案很简单 变量会使我们更容易抓住过去的数字,比如第三种情况,数字等于第一个+第二个+另一个,最后一种情况,数字等于第三个+第四个 使用
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
为了澄清,您希望将所有五个数字打印出来,就像它们是单个查询的结果一样<代码>联合将有助于实现这一点,但不一定所有事情都必须在一次选择中完成。