MYSQL显示每个日期以防万一

时间:2017-03-30 09:39:21

标签: mysql sql

我想在查询时显示每个日期,例如

MouseMove

如果我没有添加Max,但在最后两列中显示为空白。

SELECT pp.user_id, p.payment_profile_id, 
       Max(case when p.transaction_type='New Order' THEN date(p.created_at) end ) as 'new_order_date',
       (case when p.transaction_type='Renewal Order' THEN date(p.created_at) end) as 'renew_date' 
from payments p
    join payment_profiles pp on pp.id = p.payment_profile_id

如果我添加Max,但在最后一列中显示为空白。

user.id payment_profile_id new_order_date  renew_date
    1         aaa                  (NULL)    (NULL)   

如果我删除分组依据,它将显示多行,但不会显示

user.id payment_profile_id new_order_date  renew_date
    1         aaa                  1/1/2013     (NULL)

我想得到像 -

这样的结果
user.id payment_profile_id new_order_date  renew_date
    1         aaa                  1/1/2013     (NULL)
    1         aaa                  (NULL)       (NULL)
    1         aaa                  (NULL)       3/1/2013
    1         aaa                  (NULL)       4/1/2013

新订单日期仅需要最新订单日期,但新订单日期可能有许多续订日期。

但是,如果我使用此查询,续订日期不会显示结果..

1 个答案:

答案 0 :(得分:0)

请尝试以下方法:

/g

以上是通过payment_profile_id列出组的最大订单日期,然后加入原始表,以便列出所有单独的订单日期。