如何指定何时加入具有相同主键名称的表?

时间:2013-10-04 16:24:27

标签: sql sql-server sql-server-2008

select request_id, request_created_date, request_complaint_type, request_descriptor, 
request_ferry_terminal
from nyc311_requests
    join nyc311_locations_ferries on request_id=request_id
where request_ferry_direction = 'Manhattan Bound' 
order by request_id

我有这个代码,当我尝试执行时,它说每次提到request_id时,它都是一个模糊的列。

2 个答案:

答案 0 :(得分:2)

你需要查看它来自哪个表,注意我是如何将表名添加到request_id

select nyc311_requests.request_id, request_created_date, request_complaint_type, request_descriptor,
request_ferry_terminal
from nyc311_requests
    join nyc311_locations_ferries on nyc311_requests.request_id=nyc311_locations_ferries.request_id
where request_ferry_direction = 'Manhattan Bound' 
order by request_id 

你也可以给表别名

select r.request_id, request_created_date, request_complaint_type, request_descriptor,
request_ferry_terminal
from nyc311_requests r
    join nyc311_locations_ferries lf on r.request_id=lf.request_id
where request_ferry_direction = 'Manhattan Bound' 
order by request_id 

答案 1 :(得分:0)

你必须给你的表别名。

select A.request_id, request_created_date, request_complaint_type, request_descriptor, 
request_ferry_terminal
from nyc311_requests A
    join nyc311_locations_ferries B on A.request_id = B.request_id
where request_ferry_direction = 'Manhattan Bound' 
order by request_id

您必须为两个表中显示的任何字段指定别名,但一旦您知道如何操作就会非常简单。

相关问题