【问题标题】:how can i process the rows effectively我怎样才能有效地处理行
【发布时间】:2018-09-03 12:31:41
【问题描述】:

我有两张桌子

表 1:发票

表 2:invoice_statuses

我有如下一行

这里有两张发票,invoice_id = 1, 2

查询发票状态时,有“pending_reason”要统计。

这里我需要的结果集如下:

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    您可以使用不同 invoce_id 的计数和 if 进行发布和查询

    select count(distinct invoce_id) no_of_invoices, 
           sum(if(s_status = 'posted', 1,0)) invoice_status_posted,
            sum(if(s_status = 'query', 1,0)) invoice_status_query
    from my_table
    

    为你更新..问题..

      select count(distinct invoce_id) no_of_invoices, 
        sum(if(s_status = 'posted', 1,0)) invoice_status_posted,
        sum(if(s_status = 'query' AND pending_reason is null, 1,0)) invoice_status_query, 
        sum(if() s_status = 'query' and pending_reason ='Pending Internal Clariication', 1,0)) Pending_Internal_Clariication
    
    from my_table
    

    【讨论】:

    • 谢谢,我已经编辑了一个问题,实际上我使用连接表然后我尝试在 php 中处理结果,现在我已经将问题更改为在 mysql 中处理,
    • 答案已更新.. .. 但在有效答案后更改问题不公平..
    • 为改变问题道歉,实际上我试图在 php 中处理结果,然后在看到你的回答后我有信心,我可以进入 mysql 本身,这就是改变的原因。谢谢跨度>
    • 是的 .. 你可以直接在 mysql 中执行此操作 .. 比 PHP 中的过程更容易 ..
    • 在实时表中,我的发票数为 10,000,状态数为 30,000,有什么问题吗?
    猜你喜欢
    • 2014-11-03
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多