select offices.office_id,
count(staff_id)
from offices join staffs using (office_id) join managers using (manager_id)
group by office_id;
我一直在
第1行的错误:ORA-25154:USING子句的列部分不能有限定符。
我正在计算不同办公室的员工总数。在这里,我按办公室ID对结果进行了分组。这里出了什么问题。
但如果我喜欢这个
select count(staff_id)
from offices join staffs using (office_id) join managers using (manager_id)
group by office_id;
它以这种方式工作,因为我删除了offices.office_id column
,所以只显示一列。但是我需要办公室ID和相应数量的员工并排在两列。
答案 0 :(得分:1)
在查询中使用USING
子句时,指定表名是多余的。只有列名称才是数据库的足够信息。例如 - select office_id
。试试这个:
select office_id,
count(staff_id)
from offices join staffs using (office_id) join managers using (manager_id)
group by office_id;
请参阅此类似问题:Cannot have a qualifier in the select list while performing a JOIN w/ USING keyword
答案 1 :(得分:1)
office_id是表格中的常用列。所以你必须指定别名或使用tablename.columnname
试试这个..
select offices.office_id,
count(staffs.staff_id)
from offices join staffs on staffs.office_id=offices.office_id
join managers on managers.manager_id=staffs.manager_id
group by offices.office_id;