我试图加入两个表并返回记录总数,但是第一个表必须有一个 WHERE 条件来首先筛选出数千条记录。第一个表的别名为“Poly_NoRoad”,第二个表的别名为“Vri”。
我试图嵌套第一个表选择(我根据各种 Not Like 标准筛选出记录,最终得到一个简化的“Poly_NoRoad”表),然后将该选择的结果与“Vri”表连接起来。
OPENING_ID 是两个表中的公共字段。
我在这里做错了什么?
Select count(*)
From
(Select *
From Whse_Forest_Vegetation.Rslt_Forest_Cover_Poly Poly_Noroad
Where Upper(Poly_Noroad.Silv_Polygon_No) Not Like 'PAS%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%WTR%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%WTP%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%RD%'
And Upper (Poly_Noroad.Silv_Polygon_No) Not Like 'RES%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%ROAD%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%LANDING%')
Join Whse_Forest_Vegetation.Veg_Comp_Lyr_R1_Poly Vri
On Poly_Noroad.Opening_Id = Vri.Opening_Id
您需要为该派生表(“子选择”)提供别名,否则您无法加入它。派生表内的别名在外部不可见。
Select count(*)
From (
Select *
From Whse_Forest_Vegetation.Rslt_Forest_Cover_Poly Poly_Noroad
Where Upper(Poly_Noroad.Silv_Polygon_No) Not Like 'PAS%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%WTR%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%WTP%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%RD%'
And Upper (Poly_Noroad.Silv_Polygon_No) Not Like 'RES%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%ROAD%'
And Upper(Poly_Noroad.Silv_Polygon_No) Not Like '%LANDING%'
) t --<< an alias for the derived table
Join Whse_Forest_Vegetation.Veg_Comp_Lyr_R1_Poly Vri
On t.Opening_Id = Vri.Opening_Id;
^
You need to use the alias of the derived table.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句