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