sql函数将一条记录分成两条记录

kuhbmx9i  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(322)

我在表1中创建了日期和解析日期。两个字段都包含在一个记录中。

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

有没有可能我可以使用自定义的sql函数将它们分为两个记录。
我想要这样的输出。

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

ilmyapht1#

更简单的解决方案是:

select id, created_date, 'created' as operation from t
union all
select id, resolved_at, 'resolved' as operation from t;
vohkndzv

vohkndzv2#

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 尝试以上查询。
它会帮助你的。

相关问题