Re: Multiple SELECT statements Using One WITH statement

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Ken Tanzer <ken.tanzer@gmail.com>
Cc: Avi Weinberg <AviW@gilat.com>, "pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2022-01-20T23:35:14Z
Lists: pgsql-general
On Thu, Jan 20, 2022 at 4:34 PM David G. Johnston <
david.g.johnston@gmail.com> wrote:

> On Thu, Jan 20, 2022 at 4:32 PM Ken Tanzer <ken.tanzer@gmail.com> wrote:
>
>>
>>
>> On Thu, Jan 20, 2022 at 8:46 AM David G. Johnston <
>> david.g.johnston@gmail.com> wrote:
>>
>>> You can always write:
>>>
>>> CREATE VIEW cte_view AS
>>> WITH cte AS (...)
>>> SELECT * FROM cte;
>>>
>>> And then incorporate that into any queries that require the results of
>>> said CTE.
>>>
>>>
>> Is there any advantage to still using a CTE inside the view
>> definition, and then selecting it?  Instead of just
>>
>> CREATE VIEW cte_view AS
>> (...);
>>
>> Just curious, in case I'm missing something!
>>
>>
> No. That would be tunnel vision and early morning posting on my part.
>
>
Though I suspect if the CTE had a MATERIALIZED modifier there would be a
difference.  You can force a view to be materialized.

David J.