SQLAlchemy内の単一のテーブルを対象とする左外部結合を使用する方法を理解するのは難しいです。SQLAlchemyを使用して1つのテーブルに左外部結合を作成する方法
私は、次のSQLクエリがあります。
-------------------------------------------------------------------
| 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 |
-------------------------------------------------------------------
そして、私は現在、次のSQLAlchemyのスクリプトがあります:
results = db.session.query(Participation). \
<maybe something here?>
all()
をしかし、その私に、次の結果セットを提供します
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
を各結果を独自の行として返します。誰でもその仕事をするために必要なことを指摘できますか?あなたは、単に二回alias a subqueryに必要とouterjoin与えられた情報で
この質問は[MCVE]適切を欠いています。 2つのクエリは大きく異なります。少数のサンプルデータ、モデル、およびそれらの結果として受け取るものを提供してください。 「次のSQL /左外部結合表を表現する方法」の部分は簡単ですが、残りは謎です。 –
ありがとう、私は元の質問をできるだけ小さく編集しました。 – Unkulunkulu