postgres: résultats de la requête dans les variables à utiliser plus tard

voix
0

J'ai ce qui va finir par être une requête complexe où certaines parties seront souvent répétées. Je voudrais donc stocker les résultats de certaines requêtes de sous dans les variables qui peuvent ensuite être utilisés dans la requête principale.

Par exemple , je voudrais définir la variable 'variable_id'égale à une requête SELECT et variable_school_idêtre égale à une autre requête SELECT:

variable_id integer := (SELECT id FROM account WHERE email = 'test@test.com');
variable_school_id integer := (SELECT school FROM account WHERE email = 'test@test.com');

Ensuite, je voudrais utiliser ces variables dans une requête qui ressemblerait à ceci:

select * from doctor where account_id = variable_id AND school = variable_school_id ;

Comment puis-je prendre?

Créé 07/11/2018 à 20:17
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Tu ne peux pas utiliser juste CTEs?

with params as (
      SELECT id, school
      FROM account
      WHERE email = 'test@test.com'
     )
select d.*
from params cross join
     doctor d
     on d.account_id = params.id and d.school = params.school;
Créé 07/11/2018 à 20:23
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more