在SQL中连接表上的两列

在SQL中连接表上的两列,sql,Sql,我有一个很容易理解的问题,但对我来说,实现起来并不是那么简单 我有一个名为时间的表: ----------------------------------- DAY TIME1 TIME2 ----------------------------------- 1 08.00 09.40 1 09.40 10.00 1 10.00 11.40 2 08.00 08.50 2 0

我有一个很容易理解的问题,但对我来说,实现起来并不是那么简单

我有一个名为时间的表:

-----------------------------------
 DAY     TIME1     TIME2
-----------------------------------
 1       08.00     09.40
 1       09.40     10.00
 1       10.00     11.40
 2       08.00     08.50
 2       08.50     10.40
 ----------------------------------
我想要的是:

-------------------
 DAY     TIME     
-------------------
 1       08.00     
 1       09.40     
 1       10.00     
 1       11.00     
 2       08.00     
 2       08.50     
 2       10.40     
 ------------------
我尝试过以下代码:

SELECT DISTINCT sub.val FROM (
  SELECT Time1 AS val FROM Time
  UNION ALL
  SELECT Time2 AS val FROM Time
) AS sub
它只返回时间列。我不知道是否要加入“Day”专栏。当我试图在“DISTINCT sub.val”之后添加“Day”时,它出现了错误。怎么做

非常感谢。

试试这个

SELECT DISTINCT sub.Day, sub.val as Time FROM (
  SELECT Day, Time1 AS val FROM Time
  UNION ALL
  SELECT Day, Time2 AS val FROM Time
) AS sub
SELECT DISTINCT *
FROM (
    SELECT day, time1 FROM Time
    UNION ALL SELECT day, time2 FROM Time
) AS x
ORDER BY x.day
这可能有助于:

SELECT
    DAY,
    TIME1
FROM
    YourTable AS T
UNION
SELECT
    DAY,
    TIME2
FROM
    YourTable AS T
ORDER BY DAY,TIME1

@所有人:谢谢你所有的回答。用不同的方法解决这个问题确实帮了我很大的忙,并且产生了相同的价值非常感谢你的回答。:)非常感谢你的回答。:)非常感谢你的回答。:)非常感谢你的回答。:)
SELECT
    DAY,
    TIME1
FROM
    YourTable AS T
UNION
SELECT
    DAY,
    TIME2
FROM
    YourTable AS T
ORDER BY DAY,TIME1