mysql - SQL 函数将一条记录分成两条记录。

标签 mysql sql postgresql

我已在表 1 中创建日期和解决日期。这两个字段都包含在一条记录中。

ID                created_date                resolved_at
'1xxxx'           '18-04-2018'               '20-04-2018'

我是否可以使用自定义 SQL 函数将它们分成 2 条记录。

我想要这样的输出。

ID           date                Operation
1xxx.       18-04-2018.          Created
1xxx.       20-04-2018.          Resolved

最佳答案

SELECT ID,created_date DATE,CASE WHEN CREATED_DATE IS NOT NULL THEN 'Created' end OPERATION FROM TABLE1
UNION
SELECT ID,resolved_at DATE,CASE WHEN resolved_at IS NOT NULL THEN 'Resolved' end OPERATION FROM TABLE1

您只需使用 CASE WHEN 并根据哪一列不为空,我们将该名称设为 OPERATION .

可以查看SQL fiddle here

尝试上面的查询。

它会帮助你。

关于mysql - SQL 函数将一条记录分成两条记录。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50059226/

相关文章:

postgresql - 创建 pgAdmin 4 主键时出现语法错误

php - 我可以安全地使用 MySQL-5.1 客户端库连接到 MySQL-5.0 服务器吗?

php - PDO BindValue 不起作用 - 执行不返回任何内容

mysql - DATEDIFF 与 (w1.date = w2.date +1) 的区别? MySQL语法

python - cx_Oracle : How can I receive each row as a dictionary?

postgresql - 为什么 postgresql 在键不存在时遇到重复键?

mysql - CLR 汇编 C# DBMS

python - 在 Django 项目上运行syncdb 不起作用 : Can't create/write to file

c# - Fluent NHibernate 无法在测试的 Debug模式下从 GAC 加载 MySql.Data

sql - 带有 NText 列的 Count(*) 非常非常慢。为什么这么慢?我怎样才能提高性能?