使用mysql将两列视为一列



我有一个表,里面有两个付款设备,每个都有自己的日期,类似这样:

table
______________
id
.......
payment1
payment1_date
payment2
payment2_date

我需要的是一个有序的付款列表,忽略是payment1还是payment2。

付款既可以为空,也可以仅为一笔,或者两笔都已填写。

结果如下:

id        payments      date         ... 
3         (payment1)    2018-08-01
5         (payment2)    2018-08-03
4         (payment2)    2018-08-04
3         (payment2)    2018-08-07

Payment1将是预付款,payment2将是其余的,但对于会计信息,我只想显示按日期排序的所有付款,即付款日期x_date

我会尝试一下:

select id,payment1 as payment, payment1_date as payment_date
from table
where payment1 is not null or payment1 <> ''
union 
select id,payment2 as payment, payment2_date as payment_date
from table
where payment2 is not null or payment2 <> ''
order by 3

最新更新