首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL炼金术中如何结合案例和存在?

SQL炼金术中如何结合案例和存在?
EN

Stack Overflow用户
提问于 2017-09-30 11:05:06
回答 1查看 647关注 0票数 1

例如:

代码语言:javascript
复制
SELECT 
  CASE WHEN EXISTS (
    SELECT 
      * 
    FROM 
      "Teaching"
    WHERE 
      "Teaching".student_idn = "Student".idn
  ) THEN 'Teaching Assistant' ELSE 'Student' END AS "Category" 
FROM 
  "Student"

这是如何用SQL炼金术编写的?我想出了如何做CASE的方法。但是当我们需要EXISTS时,它变得越来越复杂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-01 06:02:02

以下方法起作用:

代码语言:javascript
复制
sub = session.query(Teaching).filter(Teaching.columns.student_idn == Student.columns.idn)

query = session.query(Student.columns.name, case([(sub.exists(), "Teaching Assistant")], else_ = "Student")
)

也许还有更好的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46502108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档