У меня есть таблица с двумя платежами, каждая с собственной датой, что-то вроде этого:
table
______________
id
.......
payment1
payment1_date
payment2
payment2_date
Мне нужен упорядоченный список платежей, игнорируя при этом платеж 1 или платеж2.
платежи могут быть пустыми, только один или оба заполнены.
Результат будет выглядеть так:
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 будет остальным, но для бухгалтерской информации я хочу просто показать все платежи, заказанные по дате, в ту дату paymentx_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
union all
!union
связаны накладные расходы на удаление дубликатов, и вы можете не захотеть удалять дубликаты.