gpt4 book ai didi

SQL 输出 Y/N 比较来自不同表的日期列

转载 作者:行者123 更新时间:2023-12-04 08:47:46 25 4
gpt4 key购买 nike

我想输出 Y 或 N。如果 cc.date1 = T.date然后是'Y'。或者如果 cc.date1 < T.date然后是'N'。我不太确定如何在下面的查询中表达这一点,欢迎提出任何建议。 cte 是存储过程的更大查询块的一部分。我目前使用的是 SQL Server 2008 R2 (V10.50)。谢谢

WITH cte_new AS
(
SELECT CC.ID,
CC.col1,
CC.col2,
CC.col3,
ROW_NUMBER() OVER(PARTITION BY CC.ID ORDER BY CC.date1 DESC) AS row_num
FROM table1 AS CC
INNER JOIN #temp AS T
ON CC.ID = T.ID
WHERE CC.col1 = 'CNT'
AND CC.col2 = 'NEW'
AND CC.date1 = T.date
OR CC.date1 < T.date
)
SELECT *
INTO #NewOld
FROM cte_new
WHERE row_num = 1

最佳答案

我不确定您查询的意图是否正确。然而,WHERE逻辑看起来不正确。你有:

WHERE CC.col1 = 'CNT' AND
CC.col2 = 'NEW' AND
CC.date1 = T.date OR
CC.date1 < T.date
我很确定你打算:
WHERE CC.col1 = 'CNT' AND
CC.col2 = 'NEW' AND
CC.date1 <= T.date
您的版本被解析为:
WHERE (CC.col1 = 'CNT' AND CC.col2 = 'NEW' AND CC.date1 = T.date) OR
CC.date1 < T.date

关于SQL 输出 Y/N 比较来自不同表的日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64223640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com