0
私はPythonのプロジェクトで私のデータベースを照会するsqlaclhemyを使用しています
をSQLAlchemyのために、私はSQLAlchemyのためにかなり新しいですが、現時点ではコンセプトのように、私は次のように非常にシンプルなものをやっている生のSQL構文
sel = select([staff.c.name]) \
.select_from(staff) \
.where(staff.c.workbase != "") \
.where((staff.c.status != 'Left') & (staff.c.status != 'Name Changed'))
SQLAlchemyの中にネストされた選択になどを行うことがどのように私はわからない
SELECT A.a_allowance, B.b_allowance, C.c_allowance, A.name, A.leave_allowance
FROM
(SELECT ROUND(leave_allowance * 0.32, 2) as a_allowance, name, leave_allowance FROM staff_list) A
INNER JOIN
(SELECT ROUND(leave_allowance * 0.40, 2) as b_allowance, name FROM staff_list) B
ON A.name = B.name
INNER JOIN
(SELECT ROUND(leave_allowance * 0.28, 2) as c_allowance, name FROM staff_list) C
ON A.name = C.name
WHERE A.name = 'Jones Jones';
、私の生のSQLは次のようになり、私のプロジェクトの
一部は、より複雑なSQLクエリを必要としますが、私はSQLAlchemyの中でそれを維持したいです。
>>> print(foo.join(bar, foo.c.bar_id == bar.c.id))
foo JOIN bar ON foo.bar_id = bar.id
あなたがサブクエリによって表現でテーブル名を置き換えることができます:あなたは.join()
を使用して参加生成することができます