mysql - 使用 Inner Join/Group_Concat 更新两个表之间的 Inner Join 返回子查询错误
问题描述
我遇到了麻烦
Update Table Set 'Contains'=(Select Group_Concat(T1.FieldX) from Table T1
Inner Join Table T2
on T1.FieldA=T2.FieldA and
(T1.FieldX like concat('% ',T2.FieldX) or T1.FieldX like concat(T2.FieldX,' %'))
Group by T2.FieldX)
根据具有内部联接和 Group_Concat 的更新表“您不能在 FROM 子句中指定目标表”
所以决定更新另一个表,我可以使用结果。所以我拉了正在工作的 Select 并尝试了这个:
Update TableY Y
Inner Join Table Y2
On Y.Y2_ID=Y2.ID
Set FieldZ=
(Select Group_Concat(T1.FieldX) from Table T1
Inner Join Table T2
on T1.FieldA=T2.FieldA and
(T1.FieldX like concat('% ',T2.FieldX) or T1.FieldX like concat(T2.FieldX,' %'))
Group by T2.FieldX)
并得到
Subquery returns more than 1 row
假设错误是出于类似的原因,但无法确定那是什么。
解决方案
推荐阅读
- sql-server - SSIS 仅提取增量更改
- javascript - 使用条件计算 Vue 属性
- apache-spark - 如何从连接键列表创建连接表达式
- netbeans - Netbeans 将文件夹放在一个位置,但在另一个位置查找它
- angular - 如何通过服务将表单数据传递给另一个组件?
- c++ - 使用 OpenGL ES glDrawElements 绘制正方形不起作用
- scala - 从 Uber Jar 中的资源加载 CSV 文件作为数据框
- generics - 在Java中是否可以调用兄弟类的受保护方法,其中兄弟具有不同的类型参数?
- google-apps-script - 即使脚本被授权,安装的触发器也会导致 Browser.inputBox 的权限错误
- javascript - 如何构建一个点击计数但仅显示带有反应组件的奇数的点击器?