The column xxx was specified multiple times for table(为表多次指定了第 xxx 列)
问题描述
我正在尝试使 db2 简单查询适应 SQL SERVER.此查询在 db2 上运行良好
I am trying to adapt a db2 simple query to SQL SERVER. This query is working fine on db2
select *
from pb_console.users u
join (
select * from pb_console.users_user_role j join
pb_console.users_roles r on j.role_id = r.role_id) as jj
on jj.user_id = u.user_id
在 sql server 上失败并出现错误:
on sql server it fails with error:
The column 'ROLE_ID' was specified multiple times for 'jj'
我已尝试将角色 _id 从联接的左表中删除为:
I have tried removing role _id from the left table of the join as:
select * from pb_console.users u join (
select user_id, role_rif from
pb_console.users_user_role j join (select role_id, role_name from
pb_console.users_roles) r
on
j.role_id = r.role_id) as jj on jj.user_id = u.user_id
但导致.
The column 'role_id' was specified multiple times for 'jj'.
我也尝试为第一个 role_id 使用不同的别名,但没有成功.
I have also tried using a different alias for the first role_id, with no success.
我该如何解决这个问题?
How can I fix this?
推荐答案
由于 ColumnNameROLE_ID 存在于两个表 pb_console.users_user_role &pb_console.users_roles 所以尝试指定只需要的列,如下所示
The error is raised because the ColumnNameROLE_ID is present in both the table pb_console.users_user_role & pb_console.users_roles so try to specify the columns that are only required as below
SELECT *
FROM pb_console.users u
join (
SELECT J.RoleID,J.User_ID FROM pb_console.users_user_role j
JOIN pb_console.users_roles r ON j.role_id = r.role_id) AS jj
on jj.user_id = u.user_id
这篇关于为表多次指定了第 xxx 列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为表多次指定了第 xxx 列
基础教程推荐
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 带更新的 sqlite CTE 2022-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
