我试图修改的现有代码类似于:
SELECT * FROM <table1>
JOIN
( SELECT * FROM <table2>
WHERE GETDATE() BETWEEN <fields from table2> )
我需要更改 GETDATE() 以引用 table1 中的字段
我宁愿使更改尽可能小和本地化,以免在其他地方引起问题,所以我希望有一些简单的方法可以从初始 SELECT 中引用当前值。
我试图修改的现有代码类似于:
SELECT * FROM <table1>
JOIN
( SELECT * FROM <table2>
WHERE GETDATE() BETWEEN <fields from table2> )
我需要更改 GETDATE() 以引用 table1 中的字段
我宁愿使更改尽可能小和本地化,以免在其他地方引起问题,所以我希望有一些简单的方法可以从初始 SELECT 中引用当前值。
您可以“命名”一个表以在语句的其他地方引用:
SELECT * FROM <table1> AS t1
JOIN
( SELECT * FROM <table2>
WHERE t1.field BETWEEN <fields from table2> )
给表一个别名,您可以使用该子查询在子查询中引用它。
虽然您应该能够只使用连接:
SELECT * FROM <table1>
INNER JOIN <table2>
ON <table1>.DateField BETWEEN <fields from table2>