0

我试图修改的现有代码类似于:

SELECT * FROM <table1>
JOIN
( SELECT * FROM <table2>
    WHERE GETDATE() BETWEEN <fields from table2> )

我需要更改 GETDATE() 以引用 table1 中的字段

我宁愿使更改尽可能小和本地化,以免在其他地方引起问题,所以我希望有一些简单的方法可以从初始 SELECT 中引用当前值。

4

2 回答 2

1

您可以“命名”一个表以在语句的其他地方引用:

SELECT * FROM <table1> AS t1
JOIN
( SELECT * FROM <table2>
    WHERE t1.field BETWEEN <fields from table2> )
于 2013-01-17T14:37:38.437 回答
1

给表一个别名,您可以使用该子查询在子查询中引用它。

虽然您应该能够只使用连接:

SELECT * FROM <table1> 
INNER JOIN <table2>
    ON <table1>.DateField BETWEEN <fields from table2>
于 2013-01-17T14:34:21.493 回答