[英]SQLAlchemy insert select query from case statement to FROM clause
我将案例陈述保存在变量中,例如:
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)
和错误,我应该使用别名。 我尝试使用别名进行选择,以防万一,但这并不能解决我的问题。 我尝试向所有select子句传递relatede = False,但这无济于事,但是如果我按原样在不使用变量的情况下在最终的select子句中传递大小写,那么它将起作用并且不会生成无效的FROM子句。
但是在此之后,我有很多重复的代码,那么在这种情况下如何使用变量呢? 谢谢。
通过使用select(...)。correlate_except(article_video_t)进行修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.