من درست متوجه نمی شوم، همه ی ما می دونیم که ضرب جدول به شکل زیر بوده:
select *
from
(
select a=1 union all
select 2 union all
select 3
)D1,
(
SELECT b='a' union all
select 'b' union all
select 'c'
)D2
--(9 row(s) affected)
و اینم می دونیم که ماده ی WHERE باید بعد از عمل JOIN انجام بشه در نتیجه ما زیر مجموعه ای از ضرب دو جدول را با شرطی که روی سطرهای جدول می گذاریم بدست می آوریم.
select *
from
(
select a=1 union all
select 2 union all
select 3
)D1,
(
SELECT b='a' union all
select 'b' union all
select 'c'
)D2
where cast(D1.a as CHAR)=D2.b
--(0 row(s) affected)