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.
非常感谢!布雷特
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)
| 归档时间: |
|
| 查看次数: |
660 次 |
| 最近记录: |