2014-04-17 61 views
0

您能否就正確的表的連接順序提供建議,即對於組合我們必須考慮順序的數據的4個表。由於我有在運行查詢的問題,我正在一個ORA-00904錯誤:在oracle中的表連接順序sql

select countries.country_name, profits.amount_sold, products.prod_name 
from countries 
join customers on countries.country_id = customers.country_id 
join profits on products.prod_id = profits.prod_id 
join profits on profits.cust_id = customers.cust_id 
WHERE COUNTRY_NAME = 'India' 

回答

2

要加入到profits表兩次,而不是加入到products表。看起來你的意思是:

select countries.country_name, profits.amount_sold, products.prod_name 
from countries 
join customers on countries.country_id = customers.country_id 
join profits on profits.cust_id = customers.cust_id 
join products on products.prod_id = profits.prod_id 
WHERE COUNTRY_NAME = 'India' 

Oracle將決定連接順序,但在連接到它之前不能引用表。

+1

另外,在查詢中爲表提供別名是一種很好的做法 – ninesided