Обработка двух столбцов как одного с помощью MySQL

0

У меня есть таблица с двумя платежами, каждая с собственной датой, что-то вроде этого:

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

Теги:

1 ответ

2
Лучший ответ

Я бы попробовал это:

    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
  • 0
    Это работает отлично!
  • 2
    @monxas. , , Используйте union all ! union связаны накладные расходы на удаление дубликатов, и вы можете не захотеть удалять дубликаты.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню