0

次のような単一のテーブルを処理するクエリを作成しようとしています。

record_id   item_id   part_id   part_length
-----------  -------   --------  ------------
     1         0         0         123.12
     2         0         0         123.09
     3         0         1         231.24
     4         0         1         239.14
     5         1         0          45.91
     6         1         0          46.12
     7         1         1          62.24
     8         1         1          59.40

これは基本的に、複数回記録されたいくつかのアイテムの一部の不正確な長さの測定値の表です (2 回ではなく、実際には各部分には数百の測定値があります)。単一の選択で、次のような結果を得たい:

record_id   item_id   part_id   unit      part_length_ratio
-----------  -------   --------  -----     ----------------
     1         0         0        1       123.12 / 231.24 
     2         0         0        1       123.09 / 239.14 
     3         0         1        0       231.24 / 123.12
     4         0         1        0       239.14 / 123.09
     5         1         0        1        45.91 /  62.24
     6         1         0        1        46.12 /  59.40
     7         1         1        0        62.24 /  45.91
     8         1         1        0        59.40 /  46.12

これは、基本的にアイテムの各パーツを単位として選択し、測定時間を一致させながら、同じアイテムの他のパーツの長さとこの単位の比率を計算します。この種のテーブルを計算するスクリプトを作成しましたが、SQL で実行したいと考えています。あなたが質問を理解できなくても理解できます:)

for each item i
  for each part unit of i
     for each part other of i
        if unit != other
           print i.id other.part_id unit.part_id other.length / unit.length
4

1 に答える 1