两个sql问题

benaheng 2013-04-09 05:28:01
问题1

select a.Accounts, a.erjidaili, o.ticheng2, o.Accounts AS Expr1, SUM(o.ticheng2) AS fandian2 from
QPTreasureDB.dbo.OnLineOrder o,QPAccountsDB.dbo.AccountsInfo a where o.OrderStatus='2' and o.Accounts=a.Accounts and a.erjidaili='test100'
GROUP BY a.Accounts, a.erjidaili, o.ticheng2, o.Accounts


上面这条sql语句 我用到了SUM函数 但是得到的结果跟我想要的不一样 我想要的结果是 统计符合条件的数据
但是这个条语句是把符合条件的筛选出来了 并没有统计 如下图所示




问题2

表一:userid cid
表二 userid cid cname wid
表三 wid wname


我想表一和表二的数据关联起来查询 并且 表二和表三的也关联起来

现在用的是 表一.userid= 表二.userid and 表二的wid=表三.wid
这样的话 表三有5条数据 只能提取出5条 我是想把表一和表二有多少条数据提多少条数据 并且把表三符合条件的数据也提取出来
...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
MrYangkang 2013-04-09
  • 打赏
  • 举报
回复
select a.Accounts, a.erjidaili,o.Accounts AS Expr1, SUM(o.ticheng2) AS fandian2 from QPTreasureDB.dbo.OnLineOrder o,QPAccountsDB.dbo.AccountsInfo a where o.OrderStatus='2' and o.Accounts=a.Accounts and a.erjidaili='test100' GROUP BY a.Accounts, a.erjidaili, o.Accounts
發糞塗牆 2013-04-09
  • 打赏
  • 举报
回复
不知道你要查什么,你看看是不是你想要的
SELECT  Accounts ,
        erjidaili ,
        o.ticheng2 ,
        Expr1 ,
        fandian2
FROM    ( SELECT    a.Accounts ,
                    a.erjidaili ,
        --o.ticheng2 ,
                    o.Accounts AS Expr1 ,
                    SUM(o.ticheng2) AS fandian2
          FROM      QPTreasureDB.dbo.OnLineOrder o ,
                    QPAccountsDB.dbo.AccountsInfo a
          WHERE     o.OrderStatus = '2'
                    AND o.Accounts = a.Accounts
                    AND a.erjidaili = 'test100'
          GROUP BY  a.Accounts ,
                    a.erjidaili ,
        --o.ticheng2 ,
                    o.Accounts
        ) a
        INNER JOIN QPTreasureDB.dbo.OnLineOrder o ON o.Accounts = a.Accounts
benaheng 2013-04-09
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
第一个问题,因为你group by了4个字段,而这4个字段何在一起,就是单独的一行,所以其实是sum了,但是都是每行sum,这里可能需要改成子查询先sum然后带出其他字段
能否给个例子? 就是把我写的改成我想要的结果
hyrongg 2013-04-09
  • 打赏
  • 举报
回复
第一个问题没看懂 第二个问题如果表2表3有重复,需要去除重复再join.
發糞塗牆 2013-04-09
  • 打赏
  • 举报
回复
问题2,估计你用了inner join 或者直接table1,table2,table3这样的格式,改成外联结,但是怎么连恐怕要你自己才知道,你的表有点套模糊了
發糞塗牆 2013-04-09
  • 打赏
  • 举报
回复
第一个问题,因为你group by了4个字段,而这4个字段何在一起,就是单独的一行,所以其实是sum了,但是都是每行sum,这里可能需要改成子查询先sum然后带出其他字段

34,590

社区成员

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

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