【问题标题】:MySql Select Query hide duplicate values in columnMySql Select Query隐藏列中的重复值
【发布时间】:2021-08-16 12:47:56
【问题描述】:

在图片中,我有两条具有相同付款 ID 的记录,我将与该付款 ID 相关的所有内容相加,但是当我尝试将其显示为单独的项目时,当有人支付他们支付的金额时,我遇到了一个问题被存储,我不知道如何隐藏重复项,抱歉信息很少,但我想让支付金额列显示 600 一次,下一行为空是可以通过查询还是在 Visual Studio 中固定的

支付总额

300 600

300 //此单元格为空 查询:

 select `payment`.`id_payment` as `Payment ID`,
       `payment`.`doctor_id` as `Doctor ID`,
       `patient_information`.`id_user` as `Code`,
       CONCAT (`patient_information`.`firstname`,
       ' ', `patient_information`.`middlename`,
       ' ',
       `patient_information`.`lastname`) as `Customer`,
       `payment`.`date` as `Date`,
       `bills`.`name` as `Tretment`,
      (COALESCE(SUM(`items`.`sell_price`),0)+sum(`bills`.`price`)) as `Total`,
       `payment`.`amount` as `Paid amount`,
      `payment`.`discount`,
       `payment`.`status` as `Status`,
       COALESCE(sum(items.price),0) as `R.M`,
       (COALESCE(sum(items.sell_price),0)+`bills`.`price`) - sum(items.price)  AS `G.P`
  from (((((`payment` `payment`
  inner join `patient_information`
       `patient_information`
       on (`patient_information`.`id_user` = `payment`.`paitent_id`))
  inner join `paymen_information`
       `paymen_information`
       on (`paymen_information`.`id_payment` = `payment`.`id_payment`))
  inner join `bills` `bills`
       on (`bills`.`id_bill` = `paymen_information`.`id_bill`))
  inner join `bill_information` `bill_information`
       on (`bill_information`.`bills_id` = `bills`.`id_bill`))
  inner join `items` `items`
       on (`items`.`id_item` = `bill_information`.`item_id`))
         WHERE payment.date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) AND CURRENT_DATE()
         GROUP by `payment`.`id_payment`,`bills`.`id_bill`,`paymen_information`.`id`

【问题讨论】:

  • 请不要强迫这里的人调试截图。在此处将您的数据、当前代码和所需结果的 minimal reproducible example 以文本形式发布,这样这里的人就不必为了回答您的问题而重新输入您的数据。
  • 至少发布您当前的查询
  • @Kevin 我添加了查询
  • @Kevin 我想让支付金额列显示 600 一次,下一行为空是可能通过查询或在 Visual Studio 中固定的
  • 您可以在“付款 ID”列中添加 DISTINCT 作为临时解决方案,但您的数据库中不应存在具有一个付款 ID 的重复付款。

标签: mysql


【解决方案1】:

我不太了解您想要实现什么,但如果付款 ID 是您的主键,则应将其设置为唯一以避免这种情况。要清除重复项,您可以运行 DELETE JOIN 查询,如下一个链接所示: https://www.mysqltutorial.org/mysql-delete-duplicate-rows/

【讨论】:

    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 2021-12-01
    • 2014-08-07
    • 2015-06-18
    相关资源
    最近更新 更多