2017-08-18 39 views
0

我對如何在SQL查詢中使用圓括號有困惑。如何在複雜的SQL查詢中正確使用圓括號

查詢下方拋出一個錯誤

錯誤在編譯時聲明:失敗:

:ParseException的不能從源頭

查詢識別附近 '(' '(' '選擇' 輸入

Select 
    customer_id, order_id, city, 
From 
    ((query_1) as A 
    join 
    (query_2) as B on A.customer_id = B.customer_id) C 

但是另一方面下面的查詢工作

Select 
    customer_id, order_id, city, 
From 
    (query_1) as A 
join 
    (query_2) as B on A.customer_id = B.customer_id 

更新:我在蜂巢

+0

哪個SQL引擎您使用您的第二個查詢會更好? –

+0

從第一個查詢中刪除'C',它會起作用 – zarruq

+1

@PhilipAdler我在Hive上運行它。 –

回答

1

運行這一點,因爲嵌套查詢無輸出領域的第一個查詢拋出一個錯誤。通過添加「選擇*」或對其進行修復「[list_the_fields]從選擇」:

Select 
C.customer_id, C.order_id, C.city, 
From 
(select * from (query_1) as A 
join 
(query_2) as B on A.customer_id = B.customer_id) C