我有一个表中的条目集合,表与另一个表连接在一起,我需要返回一个结果集,排除特定日期值的条目。多个结果集不包括列
表1
我需要返回基于查询的条目的收集和发现价值,与其他项目的集合,沿着其中的日期应为每截图是< = GETDATE ()
结果应该是
正如你所看到的,结果集返回所有三个普通工作者项目,但应该只返回日期时间为< = GetDate()。
我已经尝试了各种方法,从(SELECT ..(PARTITION))方法到子值表结果,并没有一个返回我需要的结果集。
我需要所有其他行,只有普通工人,其中日期< = GETDATE(),我卡住了。
UPDATE
我的T-SQL修改之前声明:
SELECT
T0.nContractID,
T1.sJobCatNo,
T1.nJobCatID,
T1.sJobCatDesc,
T1.nDeleted,
T1.nAdminLocked,
T1.nClientDefault,
T1.nRateNT,
CASE
WHEN (T0.sDistributionCode IN ('Nails', 'Board'))
THEN 1
ELSE 0
END AS 'ShowRate'
FROM
[dbo].[Contract] AS T0
INNER JOIN [dbo].[JobCategoryRates] AS T1 ON T1.nContractID = T0.nContractID
WHERE
T1.nContractID = 200198
AND T1.nDeleted = 0
ORDER BY
T1.sJobCatDesc
更新2
我需要的结果是这样的:
UPDATE 3
也许这可能有帮助吗?
表1对于nContractID返回19个结果(其中3个是相同的),唯一不同的值是dEndDate列应该是< = GETDATE()。我需要提取dEndDate为空且dEndDate为< = GETDATE()的所有值。到目前为止,我尝试过的所有东西都只能带回一个结果,但我脑子里的逻辑说我应该有17个结果,如果dEndDate items> = GETDATE()被删除了?
您是否尝试添加AND T1。[Date] <= GETDATE()到您的WHERE子句中? –
@SteveFord是的,它返回一个结果,其他列消失。 – JadedEric
如果您需要查看带有空值的行,那么您可以尝试AND(T1。[Date] <= GetDate()OR T1。[Date] IS NULL) –