У меня небольшая проблема с моим запросом SQL.
У меня есть две таблицы:
Table1
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
и таблица 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
Я пытаюсь выяснить, как написать оператор SELECT
, который возвращает все заголовки WHERE
, все комбинации ABS(Table1_D0*Table2_D0)+ABS(Table1_D1*Table2_D1)+ABS(Table1_D2*Table2_D2)
меньше чемпороговое значение (возможно, жестко запрограммированное).
Пока я пытаюсь использовать CROSS JOIN
, но я не уверен, что это правильный подход.
Имеет ли это смысл? Таблица 1, строка 1 для всех строк таблицы 2 , затем Таблица 1, строка 2 для всех строк таблицы 2 .
Если это имеет значение, я использую MS SQL.
Большое спасибо!Brett