Sql 基于日期从联接中选择列的值

Sql 基于日期从联接中选择列的值,sql,sql-server,tsql,Sql,Sql Server,Tsql,我在T-SQL中有这个查询,我在一个表上加入。我需要返回基于开始和结束日期的值。因此,查询应该如下所示: SELECT CASE WHEN TABLE2.DATE1 < DATE2 THEN TABLE2.VALUE1 WHEN TABLE2.DATE1 > DATE2 THEN TABLE2.VALUE2 END AS 'My Col' FROM table1 LEFT OUTER JOIN table2 ON table2.id = table1.

我在T-SQL中有这个查询,我在一个表上加入。我需要返回基于开始和结束日期的值。因此,查询应该如下所示:

SELECT 
CASE
    WHEN TABLE2.DATE1 < DATE2 THEN TABLE2.VALUE1
    WHEN TABLE2.DATE1 > DATE2 THEN TABLE2.VALUE2 
    END AS 'My Col' 
FROM table1 
LEFT OUTER JOIN table2 ON table2.id = table1.id
选择
案例
当TABLE2.DATE1DATE2时,则为TABLE2.VALUE2
以“我的上校”结尾
来自表1
table2.id=table1.id上的左外联接table2
从语法上讲,我只是不确定如何使这项工作正常运行,我想您需要:

SELECT (CASE WHEN TABLE2.DATE1 > GETDATE() THEN TABLE2.H
             WHEN TABLE2.DATE1 < GETDATE() THEN TABLE2.R 
        END) AS MyCol
FROM table1 LEFT OUTER JOIN
     table2
     ON table2.id = table1.id;
SELECT(TABLE2.DATE1>GETDATE()时的情况,然后是TABLE2.H
当TABLE2.DATE1
你能给我们看一些样本数据吗?所以我在表2中有一个合同日期:2017-08-31,如果这一天大于今天,我需要从表2中返回值“H”。如果小于今天,我需要返回值'R'表2,这两个值位于同一列中。在这种情况下,我会将值R返回到我的列中。R 2018-06-16这里是一个“R”datapoint@KevinWright也许不是全部。但是,如果你用一个小的数据示例来说明你在哪里被卡住了,然后发布创建和插入的内容,人们可以简单地复制/粘贴这些内容,然后制定一个解决方案。