T-SQL:测试条件如果匹配othertable,否则包含不测试
T-SQL: test condition if match other table, otherwise include without test
这是我正在尝试做的事情,但我不太理解正确的语法:
SELECT
myKey1, myDate1
FROM
myTable1,
(SELECT myKey2, myDate2 FROM myTable2) as myDatesQuery
WHERE
-- myTable1.myKey1 = myDatesQuery.myKey2 AND myTable1. myDate1 < myDatesQuery. myDate2
-- OR myTable1.myKey1 not found in myDatesQuery
因此,如果 myDatesQuery 中不存在 myKey1,则包含它。如果 myKey1 = myKey2 仅当 myDate1 在 myDate2 之前时包含它。
非常感谢
尝试:
Select myTable1.myKey1, myTable1.myDate1
FROM
(SELECT myKey2, myDate2 FROM myTable2) as myDatesQuery
left outer join myTable1
on myTable1.myKey1 = myDatesQuery.myKey2
where myTable1.myKey1 is null or myTable1.myDate1< myDatesQuery.MyDate2
这是我正在尝试做的事情,但我不太理解正确的语法:
SELECT
myKey1, myDate1
FROM
myTable1,
(SELECT myKey2, myDate2 FROM myTable2) as myDatesQuery
WHERE
-- myTable1.myKey1 = myDatesQuery.myKey2 AND myTable1. myDate1 < myDatesQuery. myDate2
-- OR myTable1.myKey1 not found in myDatesQuery
因此,如果 myDatesQuery 中不存在 myKey1,则包含它。如果 myKey1 = myKey2 仅当 myDate1 在 myDate2 之前时包含它。
非常感谢
尝试:
Select myTable1.myKey1, myTable1.myDate1
FROM
(SELECT myKey2, myDate2 FROM myTable2) as myDatesQuery
left outer join myTable1
on myTable1.myKey1 = myDatesQuery.myKey2
where myTable1.myKey1 is null or myTable1.myDate1< myDatesQuery.MyDate2