gpt4 book ai didi

mysql - 在子选择中添加带有 CASE 的列

转载 作者:行者123 更新时间:2023-11-29 05:52:13 24 4
gpt4 key购买 nike

我在一个较大的查询中有一个子选择,我正在尝试使用 CASE 语句将计算字段添加到子选择。

我的子选择看起来像这样:

LEFT JOIN 
(
SELECT Course_ID, Question_ID, Answer, (HIP =
CASE
WHEN Question_ID = 77 THEN "1"
WHEN Question_ID = 78 THEN "2"
WHEN Question_ID = 79 THEN "3"
WHEN Question_ID = 80 THEN "4"
WHEN Question_ID = 81 THEN "5"
WHEN Question_ID = 82 THEN "6"
ELSE "Undefined HIP"
END)
FROM proposals.new_gen_ed_answers
WHERE Answer = 1
) ercehip
ON course.Course_ID = ercehip.Course_ID

当我尝试在我的父 select 语句中访问 ercehip.HIP 时,它说它是未定义的。关于如何解决这个问题的任何想法?谢谢

最佳答案

  • 您需要使用 Aliasing 而不是使用 HIP = (..)相反。
  • 此外,由于您所有的 CASE .. WHEN()仅检查 Question_ID,您可以将其移至 Case 子句之外,并使查询不那么冗长。

请尝试以下操作:

(
SELECT Course_ID, Question_ID, Answer,
(CASE Question_ID
WHEN 77 THEN "1"
WHEN 78 THEN "2"
WHEN 79 THEN "3"
WHEN 80 THEN "4"
WHEN 81 THEN "5"
WHEN 82 THEN "6"
ELSE "Undefined HIP"
END) AS HIP
FROM proposals.new_gen_ed_answers
WHERE Answer = 1
) AS ercehip

关于mysql - 在子选择中添加带有 CASE 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52948646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com