我正在尝试划分两个选择查询,但我在除数中有一个问题抛出“错误代码:1242。子查询返回超过1行”
这就是我的陈述
下面的陈述很好地给我一个按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);
我收到此错误:
错误代码:1242。子查询返回的行数超过1行
如果我能以任何其他方式使用它,请告诉我。
答案 0 :(得分:0)
这是问题
从Tab1
中选择(Tab1.Col4)
返回所有行
正确的语法是:
选择(Tab1.Col4)/(从Tab1中选择总和(Tab1.col1),其中Tab1.col2 in(从Tab1选择Tab1.col2,在Tab2.col2 = Tab1.col2上加入Tab2)和 Tab1.col3 =' general_consumption'来自Tab1的Tab1.col2组;