Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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/XML:更改嵌套查询结果的级别_Sql_Sql Server_Xml_Stored Procedures_Nested Queries - Fatal编程技术网

SQL Server/XML:更改嵌套查询结果的级别

SQL Server/XML:更改嵌套查询结果的级别,sql,sql-server,xml,stored-procedures,nested-queries,Sql,Sql Server,Xml,Stored Procedures,Nested Queries,有人能告诉我如何更改以下内容,以便嵌套查询(items)的结果显示在dateRange下一个级别,而不是在同一级别上(这是我目前得到的) 我的SQL: SELECT A.dateRange, ( SELECT B.item, ( SELECT COUNT(*)

有人能告诉我如何更改以下内容,以便嵌套查询(
items
)的结果显示在
dateRange
下一个级别,而不是在同一级别上(这是我目前得到的)

我的SQL:

SELECT      A.dateRange,
            (
                    SELECT      B.item,
                                (
                                        SELECT      COUNT(*) AS volume
                                        FROM        LogEsc C
                                        WHERE       C.policy = B.item
                                        AND         C.EID LIKE 'PE%'
                                        AND         C.dateEsc LIKE A.dateRange + '%'
                                        FOR XML PATH(''), ELEMENTS, TYPE
                                )
                    FROM        @temp2 B
                    ORDER BY    B.ranking, B.item
                    FOR XML PATH(''), ELEMENTS, TYPE
            ) AS items
FROM    @temp A
FOR XML PATH(''), ELEMENTS, TYPE
  <dateRange>2014-04</dateRange>
  <items>
    <item>EIA</item>
    <volume>17</volume>
    <item>CG</item>
    <volume>12</volume>
    <item>T</item>
    <volume>10</volume>
    <item>AD</item>
    <volume>9</volume>
    <item>IR</item>
    <volume>9</volume>
    <item>AS</item>
    <volume>8</volume>
    <item>A</item>
    <volume>8</volume>
    <item>FS</item>
    <volume>6</volume>
    <item>AP</item>
    <volume>5</volume>
    <item>DG</item>
    <volume>5</volume>
  </items>
我当前的XML:

SELECT      A.dateRange,
            (
                    SELECT      B.item,
                                (
                                        SELECT      COUNT(*) AS volume
                                        FROM        LogEsc C
                                        WHERE       C.policy = B.item
                                        AND         C.EID LIKE 'PE%'
                                        AND         C.dateEsc LIKE A.dateRange + '%'
                                        FOR XML PATH(''), ELEMENTS, TYPE
                                )
                    FROM        @temp2 B
                    ORDER BY    B.ranking, B.item
                    FOR XML PATH(''), ELEMENTS, TYPE
            ) AS items
FROM    @temp A
FOR XML PATH(''), ELEMENTS, TYPE
  <dateRange>2014-04</dateRange>
  <items>
    <item>EIA</item>
    <volume>17</volume>
    <item>CG</item>
    <volume>12</volume>
    <item>T</item>
    <volume>10</volume>
    <item>AD</item>
    <volume>9</volume>
    <item>IR</item>
    <volume>9</volume>
    <item>AS</item>
    <volume>8</volume>
    <item>A</item>
    <volume>8</volume>
    <item>FS</item>
    <volume>6</volume>
    <item>AP</item>
    <volume>5</volume>
    <item>DG</item>
    <volume>5</volume>
  </items>
2014-04
环境影响评价
17
CG
12
T
10
公元
9
红外光谱
9
作为
8.
A.
8.
财政司司长
6.
美联社
5.
危险品
5.

非常感谢您在这方面的帮助,Mike。

更改为项目
改为
为[日期范围/项目]

谢谢你!这会移动dateRange下的项目,但所有项目都在一行中。有没有办法做到这一点,但让每个项目都显示在单独的一行中(项目下方)?`不确定“一行中”是什么意思。看起来我实际上可以处理这个问题。让我再做一些测试。这非常有效-非常喜欢这种方法!非常感谢!