0
我已經case語句保存在像變量:SQLAlchemy中插入來自case語句select查詢到FROM子句
article_video_exists = exists(
select([1], correlate=False, from_obj=article_video_t).where(
article_video_t.c.article_id == article_t.c.id))
has_videos_case = case([(article_video_exists, 1), ], else_=0).label(
'has_videos')
,並使用此情況下,像
select([has_videos_case], from_obj=article_t)
執行後,我在查詢FROM語句看到像
FROM article_t,
(select 1
from article_video_t
where article_video_t.article_id=article_t.id)
和我應該使用別名的錯誤。 我試過使用別名進行選擇,但它沒有解決我的問題。 我試圖將correlate = False傳遞給所有select子句,但它沒有幫助,但是如果我在最後的select子句中如果沒有使用變量的情況下通過大小寫,它的工作並不會生成無效的FROM子句。
但之後我有很多重複的代碼,那麼在這種情況下如何使用變量來處理呢?謝謝。
我不確定您的錯誤是否與您展示的代碼有關,因爲我希望在您的表達式中的某個地方看到「EXISTS」,但我沒有。 – van 2014-11-06 08:26:39
我只顯示FROM子句,沒有選擇。 select語句對於存在且正確的表名是正確的。但FROM也有這個選擇子查詢,並提出別名要求的錯誤 – Lagovas 2014-11-06 13:34:54
這是哪裏* select子查詢*來自哪裏?另一種構造?請分享更多的信息 – van 2014-11-06 23:38:21