如何制作解析为值的 T-SQL CTE
How to make a T-SQL CTE that resolves to a value
我想使用类似 CTE 的语法在我的 t-sql 中定义变量,如下所示。
with maxDate as (
select max(date) from FACT_TBL
)
, activeRecords as (
select * from FACT_TBL_2
where date <= maxDate
)
不幸的是,这似乎不起作用,我在尝试引用 maxDate 时遇到错误。有什么好的选择吗?所有的逻辑都需要包含在我的查询中,我不能在数据库上定义一个单独的函数。
您需要将 maxDate 视为 TABLE 而不是变量。
根据新查询更新了我的答案。
with maxDate as (
select max(date) mDate from FACT_TBL
)
, activeRecords as (
select * from FACT_TBL_2
where date <= (SELECT mDate FROM maxDate)
)
我想使用类似 CTE 的语法在我的 t-sql 中定义变量,如下所示。
with maxDate as (
select max(date) from FACT_TBL
)
, activeRecords as (
select * from FACT_TBL_2
where date <= maxDate
)
不幸的是,这似乎不起作用,我在尝试引用 maxDate 时遇到错误。有什么好的选择吗?所有的逻辑都需要包含在我的查询中,我不能在数据库上定义一个单独的函数。
您需要将 maxDate 视为 TABLE 而不是变量。
根据新查询更新了我的答案。
with maxDate as (
select max(date) mDate from FACT_TBL
)
, activeRecords as (
select * from FACT_TBL_2
where date <= (SELECT mDate FROM maxDate)
)