【问题标题】:Optimize Nested Select query优化嵌套选择查询
【发布时间】:2016-10-24 09:08:23
【问题描述】:

如何优化以下查询以更好地工作:

SELECT  c.a1,c.a2,          
            (SELECT SUM(t2.TempOB)  FROM tbl1 t2 WHERE    t2.AccNo LIKE CONCAT( C.AccNo,'%') )OB, 
            (SELECT SUM(t3.TempDebit) FROM tbl1 t3 WHERE  t3.AccNo LIKE CONCAT( C.AccNo,'%') ) Debit,
            (SELECT SUM(t4.TempCredit) FROM tbl1 t4 WHERE t4.AccNo  LIKE CONCAT( C.AccNo,'%') ) Credit
            FROM tbl1 C  WHERE AccLevel= @Level  

【问题讨论】:

    标签: sql-server tsql sql-server-2012 subquery


    【解决方案1】:

    你可以像下面这样使用:

    SELECT  
        A.a1,
        A.a2,          
        SUM(B.OB) AS OB, 
        SUM(B.Debit) AS Debit,
        SUM(B.Credit) AS Credit
    FROM 
        tbl1 A  LEFT JOIN 
        tbl1 B ON B.AccNo LIKE A.AccNo + '%'
    WHERE 
        A.AccLevel = @Level 
    GROUP BY
        A.a1,
        A.a2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      相关资源
      最近更新 更多