例如:
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时,它变得越来越复杂。
发布于 2017-10-01 06:02:02
以下方法起作用:
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")
)也许还有更好的方法。
https://stackoverflow.com/questions/46502108
复制相似问题