关于单行子查询的小问题!在线等。。多谢了

sk2002 2003-10-17 07:05:02
select gpcs_placereturndtl.placereturnid,sum(zx_resa_goods_price.price*gpcs_placereturndtl.goodsqty)
from zx_resa_goods_price,gpcs_placereturndtl
where placereturnid in (380000108,380000109,380000110)
and zx_resa_goods_price.goodsid=gpcs_placereturndtl.goodsid
and zx_resa_goods_price.subshopid=(select placepointid
from gpcs_placereturn_v)
group by placereturnid;
结果显示单行子查询返回多于一行,如果我想多行显示,该怎么修改,请各位帮忙呀!
...全文
38 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujohny 2003-10-17
  • 打赏
  • 举报
回复
错在这句
and zx_resa_goods_price.subshopid=(select placepointid
from gpcs_placereturn_v)
为什么错呢?
因为select placepointid from gpcs_placereturn_v这句查询出来的是一个记录集
也就是相当于一个集合,所以不能用=要用in
sk2002 2003-10-17
  • 打赏
  • 举报
回复
我想问一下 ,为什么我原来写的不可以呢?
lijinqiang 2003-10-17
  • 打赏
  • 举报
回复
yujohny(踏网无痕) 的正确但GROUP BY 中应该加上placereturnid
welyngj 2003-10-17
  • 打赏
  • 举报
回复
select b.placereturnid,sum(a.price*b.goodsqty)
from zx_resa_goods_price a,gpcs_placereturndtl b
where placereturnid in (380000108,380000109,380000110)
and a.goodsid=b.goodsid
and a.subshopid in(select placepointid
from gpcs_placereturn_v)
group by placereturnid
sk2002 2003-10-17
  • 打赏
  • 举报
回复
多谢了,可以了!
yujohny 2003-10-17
  • 打赏
  • 举报
回复
TRY:
select gpcs_placereturndtl.placereturnid,
sum(zx_resa_goods_price.price*gpcs_placereturndtl.goodsqty)
from zx_resa_goods_price,gpcs_placereturndtl
where placereturnid in (380000108,380000109,380000110)
and zx_resa_goods_price.goodsid=gpcs_placereturndtl.goodsid
and zx_resa_goods_price.subshopid in (select placepointid
from gpcs_placereturn_v)
group by placereturnid

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧