【发布时间】:2016-01-04 14:50:57
【问题描述】:
我还是 SQL 新手,所以这个问题听起来可能很基础。我使用的是 Oracle 数据库,我只能使用 select。我有 2 张桌子 Names 和 Worksite。
Names表:
ID Full name Type
-----------------------
1 Sibelga Company
2 Belgacom Company
3 Brussels Authority
4 Etterbeek Authority
Worksite表:
ID Worksite CompanyID AuthorityID
-----------------------------------
12569 1 3
4563 2 4
1589 1 4
1489 1 3
基本上,我想获取每个工作地点的Authority 和Company 的全名。
我正在尝试加入,但它只返回Authority 或Company 的名称。我正在尝试以下查询,但它不起作用,知道我哪里出错了吗?
select
ID worksite,
Full name,
Full name
from
Worksite
join
Names on worksite.companyID = names.ID
【问题讨论】:
-
如果字段在您显示时定义,
Full name您必须使用双引号,例如select ID, "Full name" from... -
抱歉,我不太明白你的意思。我基本上想获得每个工地的公司和管理局的全名。但是一个简单的 Join 并不能正常工作。
-
考虑改变你的数据库设计。使用给定的设计,您可能会错误地给公司一个权威名称,反之亦然。有两张桌子,一张给公司,一张给当局。
-
很遗憾我不是数据库设计者,我只有只读权限,必须提取信息
-
所以我建议你请数据库设计者修改它:-)