SQL CROSS JOIN问题

Bre*_*ett 1 .net c# sql sql-server cross-join

我的SQL查询遇到了一些麻烦.

我有两张桌子:

表格1

id  guid  title     D0      D1     D2
-----------------------------------------
1   guid1 Title1    0.123  -0.235  0.789
2   guid2 Title2   -0.343   0.435  0.459
3   guid3 Title3    0.243  -0.267 -0.934
...
100 guid4 Title100 -0.423   0.955  0.029
Run Code Online (Sandbox Code Playgroud)

和表2(注意它具有相同的模式,只是不同的数据).

id  guid  title     D0      D1     D2
----------------------------------------
1   guid1 Title1    0.233  -0.436 -0.389
2   guid2 Title2   -0.343   0.235  0.789
3   guid3 Title3    0.573  -0.067 -0.124
...
100 guid4 Title100 -0.343   0.155  0.005
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚如何编写一个SELECT语句,返回所有标题的WHERE所有组合ABS(Table1_D0*Table2_D0)+ABS(Table1_D1*Table2_D1)+ABS(Table1_D2*Table2_D2)都小于一个阈值(可能是硬编码).

到目前为止,我正在尝试使用a CROSS JOIN,但我不确定这是否是正确的方法.

这有意义吗?Table1,row1对着Table2的所有行,然后是Table1,row2对着Table2的所有行.

如果重要,我正在使用MS SQL.

非常感谢!布雷特

HLG*_*GEM 6

SELECT t1.title
FROM Table1 t1
CROSS JOIN table2 t2
WHERE ABS(t1.D0*t2.D0)+ABS(t1.D1*t2.D1)+ABS(t1.D2*t2.D2)<10
Run Code Online (Sandbox Code Playgroud)