0
我有一个PostgreSQL数据库链接到一个Drill实例。为什么Apache Drill选择具有不同表格的相同名称的列
每当我试图加入两个表都有一列name
和每当我想选择此name
钻选择错误的name
列。我究竟做错了什么?
鉴于以下两个表:
Department
| id | name |
|----|------|
| 1 | A |
| 2 | B |
Employee
| id | name | dept | salary |
|----|------|------|--------|
| 1 | U | 1 | 100 |
| 2 | V | 1 | 75 |
| 3 | W | 1 | 120 |
| 4 | X | 2 | 95 |
| 5 | Y | 2 | 140 |
| 6 | Z | 2 | 55 |
运行
select employee.name, employee.salary
from employee
inner join department on employee.dept = department.id
where department.name = 'A'
回报
| name | salary |
|------|--------|
| A | 100 |
| A | 75 |
| A | 120 |
茹nning
select dept.name, employee.salary
from employee
inner join department on employee.dept = department.id
where department.name = 'A'
回报
| name | salary |
|------|--------|
| null | 100 |
| null | 75 |
| null | 120 |
什么工作,但似乎很愚蠢对我来说,就是:
select dept.name, employee.salary
from employee
inner join (select id, name as deptname from department) as department on employee.dept = department.id
where department.deptname = 'A'
感谢您的回复。我做了别名,但有所不同:'部门)作为部门'。显然,Drill中存在一个导致这个问题的错误:https://issues.apache.org/jira/browse/DRILL-5713 –
我的意思是第一个查询在列名'name'中产生* null *。尽管如此,感谢这些错误。 – tobi6