私のコードはかなり巨大なので、次のようになります (スキーマ)。
something AS ( SELECT DISTINCT ON (x1,x2,x3,x4) ... ),
something2 AS (xx.*, ... FROM something xx LEFT JOIN ...),
something3 AS (xx.*, ... FROM something2 xx LEFT JOIN ...)
SELECT ... FROM something3
したがって、この状況を想像してください: DISTINCT ON (x1,x2,x3,x4)を使用something
した後
select * from something
(ここでは無視something2 and something3
) : 1700 件の結果が得られます。
しかし、問題は、これが私の期待した結果ではないことです (まだ)。
したがって、同じDISTINCT ONがsomething
あり、そうする場合
select * from something3
(これは 1700 行を返す最終的な予想結果です)
で前に区別したかった値を含む 4000 の結果が突然得られますsomething
。
同じ構文を入力すると、 DISTINCT
I've typed in が失われているようです。something
DISTINCT ON (x1,x2,x3,x4) ...
3つすべてでsomething's
1700の結果が得られます-しかし、それは私が探しているものではありません.
時間は私にとって大きな意味があります。
ここで解決策と問題の理解を深めるために、誰かが私を助けてくれませんか?