作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要从 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/
我是一名优秀的程序员,十分优秀!