0
私は、部分ごとにSQLアルケミーを使用して照会を生成しています。複数の結合を照会するsqlalchemy
**私はORMモデルを持っていますが、実際には存在しないためにプライマリキーを使用することはできません。結合を生成するために
q = select(self.selectObj._select
).select_from(
self.joinObj._join
).where(
and_(*self.whereObj._where)
).group_by(
*self.selectObj._groupby
).order_by(
self.selectObj._orderby
).limit(
self.selectObj._limit
).having(
self.selectObj._having
)
が、私はこの方法を持っている:
def get_joins(self, first, leftTable, rightTable, leftTableColumn, rightTableColumn, outer):
if first:
self._join = join(leftTable, rightTable, leftTableColumn == rightTableColumn, full=outer)
first = False
else:
self._join = self._join + join(leftTable, rightTable, leftTableColumn == rightTableColumn, full=outer)
私が知っているドントは、私が生成することができますどのように、取得し、連結などの2以上がselect_from句で使用することをするために参加します。何か案が?私はちょうど参加以前に.join invoquingだけ使用して、この方法で解決
SELECT a.dev, b.asha, c.unk
FROM a
FULL OUTER JOIN b ON a.dev = b.devicb
FULL OUTER JOIN c ON a.dev = c.devicc
WHERE
a.cust = 'SNTC' AND
b.cust = 'SNTC' AND
c.cust = 'SNTC' AND
a.invent = '10' AND
b.invent = '10' AND
c.invent = '10'
厳密にあなたは、主キーなしのORMモデルを持つことはできません彼らは本物かないことを話します。あなたはコアを使っているようです。 –
はい、ORMにプライマリキーがありますが、正しくマップされていません –
@IljaEveriläが問題を修正しました。あなたはコアを使っているようですね。 –