| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1054 人关注过本帖
标题:[求助]急SQL语句改错
取消只看楼主 加入收藏
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
 问题点数:0 回复次数:6 
[求助]急SQL语句改错

select a.my_name,b.my_sum
from mytable1 as a,mytable2 as b
where left(my_date,6)='200506'
and a.my_id=b.my_id
and 90<(select my_sum=sum(my_sum) from mytable2 group by my_id)


这个语句出现以下的情况,帮忙解决呀.

子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。



由于本人刚接触没多久.谢谢

搜索更多相关主题的帖子: SQL 语句 改错 
2006-02-27 11:35
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
得分:0 

这是题目,"利用一个SQL语句显示2005年6月总共缴费超过90元的用户姓名"

mytable1
my_id my_name my_sex my_age

0001 John 1 34
0002 Rose 2 22
0003 Jick 1 24
0004 JIM 1 31
0005 Jean 2 54
0006 Tom 0 64
0007 Jerry 1 22
0008 Joe 2 24
0009 LI 2 15

mytable2
my_id my_date my_sum
0001 20050612 23.44
0001 20050619 29.42
0001 20050622 100.64
0001 20050512 43.19
0001 20050711 52.17
0002 20050512 23.44
0002 20050619 29.42
0003 20050722 35.64
0002 20050512 49.19


楼上那样好像也不行呀


2006-02-27 13:04
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用LouisXIV在2006-2-27 22:41:00的发言:

select
a.my_name
from
mytable1 a
where exists
(
select
b.my_id
from
mytable2 b
where
left(my_date,6) = '200506'
group by
b.my_id
having
b.my_id = a.my_id
and sum(my_sum)>90
)

试试吧。本地通过测试。应该算比较简单的写法



谢谢了,这种方法比较容易理解.也可行.


2006-02-28 09:15
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用cg2006在2006-2-27 20:19:00的发言:

卜酷塔的思路应该是没有错的只是 应该把那个总值赋给变量的句子修改一下

declare @my_sum int
select my_id,my_sum=sum(my_sum) into mytable3 from mytable2 where left(my_date,6)='200506' group by my_id
select a.my_name,b.my_sum
from mytable1 as a,mytable3 as b
where (a.my_id=b.my_id )
and (@my_sum >90)

这个你有没有运行呀,在这我运行出错了.不过还是谢谢你了,这也让我知道了另一种思路.


2006-02-28 09:17
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
得分:0 
select a.my_name,b.totalSum
from mytable1 a,
(select my_id,sum(my_sum) as totalSum
from mytable2
where substring(my_date,1,6) = '200506'
group by my_id
having sum(my_sum) > 90
) b
where a.my_id = b.my_id


大家再看一下这个,

2006-02-28 09:42
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
得分:0 

楼上那样好像还有点问题吧,


2006-02-28 15:01
xiaoe1126
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-2-22
收藏
得分:0 
呵呵,还好啦.这个都随便呀.

2006-03-01 10:35
快速回复:[求助]急SQL语句改错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018509 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved