Sql 如何将每种状态的列转换为行

Sql 如何将每种状态的列转换为行,sql,Sql,数据保存在如下表中。 我需要显示数据如下。 请建议一个查询这是在SQL Server中执行此操作的方式: SELECT Name, 'Joined' AS [ACTION], JOIN_DT AS ACTION_DATE FROM SomeTable UNION ALL SELECT Name, 'Started' START_DTTM FROM SomeTable UNION ALL SELECT Name, 'ended', END_DT FROM SomeTab

数据保存在如下表中。

我需要显示数据如下。


请建议一个查询

这是在SQL Server中执行此操作的方式:

  SELECT Name, 'Joined' AS [ACTION], JOIN_DT AS ACTION_DATE
  FROM SomeTable
UNION ALL
  SELECT Name, 'Started' START_DTTM
  FROM SomeTable
UNION ALL
  SELECT Name, 'ended', END_DT
  FROM SomeTable
试试这个:

    SELECT Name, Action, Action_Date FROM (
       SELECT Name, 'Joined' as Action, JOIN_DT as ACTION_DATE FROM TableA
       UNION ALL
       SELECT Name, 'Started', START_DT FROM TableA
       UNION ALL
       SELECT Name, 'Ended', END_DT FROM TableA)
    ORDER BY Name;

为什么要从文字改为图片?只是标记所需的RDBMS(mysql、sql server、Oracle)?