首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个查询中显示普通项和分组依据项的列表?

如何在一个查询中显示普通项和分组依据项的列表?
EN

Stack Overflow用户
提问于 2019-07-28 06:05:27
回答 1查看 85关注 0票数 0

我有一个表,其中有一些数据,我需要显示到一个列表中,但是一些数据(或项)需要隐藏,然后分组为一个唯一的元素,而不是每一个都显示

这是打印收据,我需要显示用于修理汽车或自行车的物品或材料的清单。

这是我现在的代码,我的客户昨天告诉我关于分组的项目,现在我需要修改它,但我对如何做it...maybe进行两次选择有疑问?

代码语言:javascript
复制
//mantenimiento is the row that have the 1 or 0

$sql = $conn->prepare("SELECT nombre, vendido, ventaUnitaria, descuento, referenciaVenta, mantenimiento
FROM COMPRA WHERE id = :id");
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_STRING);
$sql->bindParam(':id', $id, PDO::PARAM_STR);
$sql->execute();
while($row = $sql->fetch(PDO::FETCH_ASSOC)) {

根据示例,表中有这些项(就像现在显示的那样):

chain fixed --- $100 clean --- $12 * carwash --- $35 * filter --- $10 * grease --- $7 *,但在列表中只需显示以下内容:

Chain fixed --- $100 Preventive Maintenance --- $64

在表中,这些项目有一个额外的行,其编号为1,其他项目的编号为0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-28 06:31:10

这听起来像是你想要显示一些细节项目,但然后总结其他项目,并将它们作为单个项目呈现。您可以通过执行两个单独的SELECT查询的UNION来显示这两种类型的结果。例如:

代码语言:javascript
复制
SELECT description, price from the_table
    WHERE id = ? and description = 'list-individual-charge-condition'
UNION
SELECT 'Preventive Maintenance' as description, sum(price) as price from the_table 
    WHERE  id = ? and description = 'aggregate-charge-condition'
;

当然,您需要选择适合您的情况的列,并指定两个WHERE子句,这两个子句将确定哪些费用将单独列出,哪些费用将汇总为预防性维护。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57236414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档