Re: psql \set variables in crosstab queries? - Mailing list pgsql-general

From David G. Johnston
Subject Re: psql \set variables in crosstab queries?
Date
Msg-id CAKFQuwbkNujc4-9RxSgUsUmhNnq1jfo3hwTTj9G7Osyc6=KjaQ@mail.gmail.com
Whole thread Raw
In response to psql \set variables in crosstab queries?  (Ron <ronljohnsonjr@gmail.com>)
Responses Re: psql \set variables in crosstab queries?  (Ron <ronljohnsonjr@gmail.com>)
List pgsql-general
On Sat, Mar 4, 2023 at 5:20 PM Ron <ronljohnsonjr@gmail.com> wrote:

But crosstab takes text strings as parameters.  How then do you use \set
variables in crosstab queries?


You need to dynamically write the textual query you want to send to the crosstab function.  In particular that means writing it using "format()" and then substituting the values into the query via placeholders.

Roughly like:

SELECT * FROM crosstab(format('SELECT * FROM %I WHERE %I = %L, :'tbl_name', :'col_name', :'compare_value'));

David J.

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: psql \set variables in crosstab queries?
Next
From: Ron
Date:
Subject: Re: psql \set variables in crosstab queries?