JOIN
問題は、構文が混在していることです。T1
と の間に暗黙的な結合 (コンマ) をT2
使用し、明示的なJOIN
構文を使用してworkcase
テーブルに結合しています。
構文はJOIN
カンマよりも優先されるため、結合条件でエイリアスを使用しようとしてもエイリアスは使用できません。
両方を使用する必要がある場合は、次を使用する必要があります。
select T1.ID, T2.ID
from
(
select T1.ID, T2.ID, T1.WORKCASE_ID
from task T1, task T2
where T1.STATE < 501
and T2.STATE = 501
) t
inner join workcase w
on W.ID = T1.WORKCASE_ID
where W.ID = 1683964476
これにより、サブクエリで暗黙的な結合が可能になり、workcase
テーブルへの明示的な結合を使用できます。
または、@APC がコメントで述べているように、これは次のように記述することもできますCROSS JOIN
。
select T1.ID, T2.ID
from task T1
cross join task T2
inner join workcase w
on W.ID = T1.WORKCASE_ID
where W.ID = 1683964476
and T1.STATE < 501
and T2.STATE = 501