2017-08-29 13 views
0

使用select語句我試圖劃分兩個選擇查詢,但我在其中拋出除數問題「錯誤代碼:1242子查詢返回多個1行」在mysql中

這是我的發言貌似

下面的語句工作正常給我的COL2分組總和值的列表:

(select sum(Tab1.col1) from Tab1 where 
Tab1.col2 in(select Tab1.col2 from Tab1 join Tab2 on Tab2.col2=Tab1.col2) 
and Tab1.col3='general_consumption' group by Tab11.col2); 

然而,當我用它上面的查詢象下面這樣:

(Select (Tab1.Col4)from Tab1) /(select sum(Tab1.col1) from Tab1 where 
Tab1.col2 in(select Tab1.col2 from Tab1 join Tab2 on Tab2.col2=Tab1.col2) 
and Tab1.col3='general_consumption' group by Tab11.col2); 

我得到這個錯誤:

Error Code: 1242. Subquery returns more than 1 row

讓我知道如果我可以用任何其他方式。

+0

這是給你的記錄超過1行 - 選擇( Tab1.Col4)從Tab1。分子也應輸出1行記錄。它也可以是一個聚合。 –

回答

0

這是

Select (Tab1.Col4)from Tab1

它返回所有的行

正確的語法是這樣的問題:

Select (Tab1.Col4)/ (select sum(Tab1.col1) from Tab1 where Tab1.col2 in(select Tab1.col2 from Tab1 join Tab2 on Tab2.col2=Tab1.col2) and Tab1.col3='general_consumption' group by Tab1.col2) from Tab1;