Je n'arrive pas à comprendre comment utiliser la jointure externe gauche ciblant une seule table dans SQLAlchemy.Comment créer une jointure externe gauche à une table à l'aide de SQLAlchemy
J'ai la requête SQL suivante:
select r1.*, r1.result as result1, r2.result as result2
from
(
select * from participation
where day_id = 1
and sport_id = 1
)
r1
left join
(
select * from participation
where day_id = 3
and sport_id = 1
)
r2
on r1.participant_id = r2.participant_id
Ce qui me donne la resultset suivante:
-------------------------------------------------------------------
| participant_id | sport_id | day_id | result | result1 | result2 |
-------------------------------------------------------------------
| 1 | 1 | 1 | 7 | 7 | 7 |
| 2 | 1 | 1 | 13 | 13 | |
| 3 | 1 | 1 | 0 | 0 | 1 |
| 4 | 1 | 1 | 5 | 5 | 5 |
| 5 | 1 | 1 | 20 | 20 | 21 |
-------------------------------------------------------------------
J'ai actuellement le script SQLAlchemy suivant:
results = db.session.query(Participation). \
<maybe something here?>
all()
Mais ce renvoie chaque résultat comme sa propre ligne. Quelqu'un peut-il indiquer ce dont j'ai besoin pour faire ce travail?
Cette question manque un bon [mcve]. Les 2 requêtes sont très différentes. Veuillez fournir un petit ensemble de données d'exemple, vos modèles et ce que vous aimeriez recevoir de leur part. Répondre à la partie "comment représenter le SQL suivant/gauche externe rejoindre une seule table" est simple, mais le reste est un mystère. –
Merci, j'ai édité la question originale pour être aussi minimal que possible. – Unkulunkulu