动态选择列

时间:2012-06-12 19:54:35

标签: sql-server tsql

我有一个SELECT语句,我想在另一个SELECT语句中使用其中一列的结果。

示例:

SELECT t.day, t.hour, 
    CASE t.event_name IS NULL
    THEN (SELECT t.day --I would like to select on a day(ie the value of t.day)
          FROM   other_events)
    ELSE t.event_name
    END as Event_Name
FROM   event_t t

other_event是一个表,列是天;因此,如果我event中没有event_t,我将在该特定日期之前other_event收到{{1}}。

当然这不起作用,我想知道它是否甚至可以在T-SQL中使用。

1 个答案:

答案 0 :(得分:2)

如果你想要的所有日子都在第一张表中,那么这应该有用:

SELECT t1.day,
       t1.hour,
       COALESCE(t1.event, t2.event) AS event
FROM   event_t t1
       LEFT OUTER JOIN other_events t2
                    ON t1.day = t2.day