Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL SERVER中的两组记录相邻放置的最简单方法是什么?_Sql_Sql Server_Join - Fatal编程技术网

将SQL SERVER中的两组记录相邻放置的最简单方法是什么?

将SQL SERVER中的两组记录相邻放置的最简单方法是什么?,sql,sql-server,join,Sql,Sql Server,Join,我写下面的查询是为了把两组记录放在一起 WITH cte AS (SELECT SubSubsidaryAccountCode, sum(Debit) AS debit, sum(Credit) AS credit, ROW_NUMBER() over (PARTITION BY SubSubsidaryAccountCode ORDER BY SubSubsidaryAc

我写下面的查询是为了把两组记录放在一起

 WITH cte AS
  (SELECT SubSubsidaryAccountCode,
          sum(Debit) AS debit,
          sum(Credit) AS credit,
          ROW_NUMBER() over (PARTITION BY SubSubsidaryAccountCode
                             ORDER BY SubSubsidaryAccountCode) AS RN
   FROM TBLLedgerLevel4
   WHERE SubSubsidaryAccountCode LIKE '4%'
     OR SubSubsidaryAccountCode LIKE '5%'
   GROUP BY SubSubsidaryAccountCode ),
     cte2 AS
  (SELECT *
   FROM TBLLevel4)
SELECT a.SubSubsidaryAccountCode ,
       c.SubSubsidaryAccountName AS RevenuName ,
       sum(a.Debit) AS debit ,
       b.SubSubsidaryAccountCode AS SubsidaryAccount2 ,
       d.SubSubsidaryAccountName AS ExpenseName ,
       sum(b.Credit) AS credit
FROM cte a
JOIN cte2 c ON a.SubSubsidaryAccountCode = c.SubSubsidaryAccountCode
FULL JOIN cte b ON a.RN = b.RN
JOIN cte2 d ON b.SubSubsidaryAccountCode=d.SubSubsidaryAccountCode
WHERE a.SubSubsidaryAccountCode LIKE '4%'
  AND b.SubSubsidaryAccountCode LIKE '5%'
GROUP BY a.SubSubsidaryAccountCode,
         b.SubSubsidaryAccountCode,
         c.SubSubsidaryAccountName,
         d.SubSubsidaryAccountName
输出:


上面的输出包含以4和5开头的两个会计代码的记录。现在,以4开头的会计代码的记录已填充,并且符合所需结果,但以会计代码5开头的第二行记录未填充,其中必须有空值。请帮助我我们将尝试解决此问题。

您将筛选a.SubSubsidaryAccountCode(如“4%”之类)不能有acc代码为5的行。如果为表提供SQLFIDLE(如data@khurram我已经提供了每一件事情来描述我的问题,没有什么可以说的了,所以请给我一个答案@A.ツ 我不明白你的意思。你想说什么?你能提供你的预期输出吗?
 SubSubsidaryAccountCode    RevenuName  debit   SubsidaryAccount2   ExpenseName credit
     4-106-1001-10026        Cash Sale  52889    5-105-1005-10011   Rf Battles  18091289
     4-108-1012-10037        New Sale1  1000     5-105-1005-10011   Rf Battles  18091289