私のプロジェクトでは、データモデルが変更され、情報を取得するために新しいリクエストを行う必要がありますが、以前はすべてのデータが同じ行にあるように見えましたが、現在はそのデータの一部が別のテーブルにあり、返されます私コラム。
したがって、私のリクエストは次のように返されます。
簡単だと思ったのですが、機能の仕組みがよくわかりませんcrosstab
。私はこれを試しました:
SELECT *
FROM crosstab(
'SELECT c.cd_type as typcou, c.dt_envoi as dtenvcou, c.commentaire as comment, c.signataire as signur
FROM comm.courrier c
WHERE c.id_formalite=1
order by 1,2',
'select lf.valeur as valeur from formalite.ligne_formalite lf, formalite.formalite f where lf.fk_formalite=f.id AND lf.fk_formalite=1'
)
AS c(typcou text, dtenvcou text, comment text, signataire text, valeur1 text, valeur2 text, valeur3 text);
しかし、私は
エラー: 無効な戻り値の型 Etat SQL:42601 詳細: クエリで指定された戻りタプルには 7 つの列がありますが、クロス集計は 5 を返します。
誰かが何が悪いのかを理解するのを手伝ってくれますか?