Sql server Teradata中的歧义列
我有一个表,其中一列有1对多关系。这是一个例子Sql server Teradata中的歧义列,sql-server,teradata,Sql Server,Teradata,我有一个表,其中一列有1对多关系。这是一个例子 table name service table column name service name, service ID, Service date, severity,service cost 现在,我试图拉所有然后有多个条目的基础上严重性,所以我这样做 select b.service_name,a.service_ID,a.Service_dt,Service_cost from dbo.table1 a inner join (se
table name service
table column name service name, service ID, Service date, severity,service cost
现在,我试图拉所有然后有多个条目的基础上严重性,所以我这样做
select b.service_name,a.service_ID,a.Service_dt,Service_cost
from dbo.table1 a
inner join
(select distinct Service_n,Service_ID from table1 c) b
on a.service_id=b.service_id
这里,如果您观察到我试图从子查询而不是从主表中获取
服务名称,以避免在严重性方面选择相同的条目时获取多个条目。我得到一个错误消息ambigous columnservice\u name问题出在您的子查询选择列上
service_name
而不是
service_n
你可以试试这个
SELECT b.service_name,
a.service_id,
a.service_dt,
service_cost
FROM dbo.table1 a
INNER JOIN (SELECT DISTINCT service_name,
service_id
FROM table1 c) b
ON a.service_id = b.service_id
我用这些字段创建了一个表,并且您的查询在我的操作中并没有出现任何错误(服务除外,我将其更改为服务名称)。您应该在这里学到的一课是始终指定列来自哪个表。这意味着主查询中的每一列和子查询中的每一列。从长远来看,它省去了那么多的头痛。先生,我试过了,但它给了我一个模棱两可的专栏name@RajivSrinivasanR不客气,如果答案对您有帮助,您可以标记:)