mysql - 用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 将是其余的,但是对于会计信息,我只想显示按日期排序的所有付款,即该日期 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
推荐阅读
- c++ - 关于纯 ECS(实体组件系统)和更新系统的问题
- google-cloud-platform - 如何从 Metabase 连接到 Google Cloud SQL 数据库(当 Metabase 在 Google Cloud Run 上运行时)
- angular - http拦截器的错误处理在Angular中不起作用
- docker - Docker swarm 定期重启主机上的所有容器
- excel - VBA - 动态图表
- android - 如果用户在 FirebaseUI Auth 中退出或撤销提供者的访问权限,如何获知?
- macos - 通过命令行使用 UnrealBuildTool 进行虚幻构建
- r - 用 R 编写 grib1 文件
- python - 如何使用 Selenium 和 Python 定位元素并提取 innerText
- python-3.x - 在 tmux 中从 vim 复制到 python 控制台