私はSQLiteクエリ構文を使用すると仮定します。SQLのペアからすべてのトリプルを見つけるには?
Iは、点間の距離のテーブルを持っている:
CREATE TABLE d (
p1 INT,
p2 INT,
distance REAL
);
Iはp1
とp2
との間の距離を知っていれば、私はp2
とp1
間の距離を既知 - 両方の行がテーブル内にあります。
すべてのユニークなトリプルポイントについてビューを作成して、3つのペアのすべてのペア間の距離を知りたいとします。
私は次のことを試してみました:
CREATE VIEW triple as
select d1.p1 as p1, d2.p1 as p2, d3.p1 as p3
from d as d1, d as d2, d as d3
where d1.p1=d3.p2 and d1.p2=d2.p1 and d2.p2=d3.p1;
をしかし、私はのような転位を取り除く方法がわからない:
1 | 2 | 3
2 | 3 | 1
3 | 1 | 2
私のビューのための高速かつ正確なselect
クエリとは何ですか?
はこのお試しください:ここでは一つの方法である 'WHERE d1.p1