mysql - 为什么我的带有子查询的 UPDATE 失败了?
问题描述
UPDATE survey_results_activities_temp
SET risk_p=titles.risk_p
WHERE employee_title=
(SELECT CASE
WHEN t.risk='low' THEN 100
WHEN t.risk='medium' THEN 50
ELSE 0
END as risk_p
FROM titles t WHERE t.title=employee_title)
我有两张桌子。Titles 有一个名为 title 的字段和一个名为 risk 的字段。我正在尝试在survey_results_activities_temp 中为所有行设置一个0、50 或100 的字段。它的每一行都有一个名为 employee_title 的字段,但我从 mySQL 收到此错误:
#1054 -“字段列表”中的未知列“titles.risk_p”
解决方案
请删除“作为 risk_p”
UPDATE survey_results_activities_temp
SET risk_p=titles.risk_p
WHERE employee_title=
(SELECT CASE
WHEN t.risk='low' THEN 100
WHEN t.risk='medium' THEN 50
ELSE 0
END
FROM titles t WHERE t.title=employee_title)
推荐阅读
- sql - SQL 如果两个日期列匹配,则给出一定的值
- json - XSL 中的 JSON 解析转义字符 \"\"
- tensorflow - 如何将张量板重定向到我的服务器?
- r - 如何将这些输出保存到任何类型的文本文件或 pdf 中
- java - How to create java.lang.OutOfMemoryError: Metaspace?
- r - 如何在闪亮中创建简单的线性预测模型?
- python - 如何从字典中删除值?
- data-structures - 在 Java 队列中查找和更新元素
- ruby - Jekyll 4.0.0 没有在 CI 中使用缓存构建
- coldfusion - 有两个列表,需要将它们转换为查询