2016-07-13 9 views
0

私のデータを処理する必要がありますLevenshtein機能。この場合、 は、私は、ネストされた選択選択内の選択式が等しい

SELECT levenshtein(a.param, b.param), * 
FROM (
     SELECT 5 fields 
     FROM table t, 
     JOIN x, 
     JOIN y, 
     GROUP BY 1, 2, 3 
     ) a, 
FROM (
     SELECT 5 fields 
     FROM table t, 
     JOIN x, 
     JOIN y, 
     GROUP BY 1, 2, 3 
     ) b, 

インナーSELECTを複製しないようにする方法があるを使用していますか?

+0

- 'WITH'クエリ(別名共通テーブル式) – Nicarus

+0

ありがとう@Nicarus。それは働いている。 –

答えて

0

ソリューションは、表現WITHに関する提案について@Nikarusのおかげで非常に簡単です:https://www.postgresql.org/docs/9.1/static/queries-with.html

WITH subtable AS (
    SELECT 5 fields 
    FROM table t, 
    JOIN x, 
    JOIN y, 
    GROUP BY 1, 2, 3 
) 
SELECT levenshtein(a.param, b.param), * 
FROM subtable a, subtable b 
関連する問題