Застрял в окончательном запросе SQL - PullRequest
0 голосов
/ 16 октября 2019

Я занят созданием отчета и застрял в том, как структурировать окончательный запрос. У меня есть подзапрос, который возвращает следующий набор результатов

Sub-query Result

Мне нужен окончательный результат запроса, чтобы выглядеть так:

enter image description here

Я знаю, что могу получить более сложный запрос, но предпочел бы сделать это правильно, одновременно изучая что-то новое. Буду очень признателен за любую помощь или предложения. Спасибо

PS Использование Microsoft SQL Server 2014

Ответы [ 2 ]

1 голос
/ 16 октября 2019

Вот пример кода, который должен делать то, что вы ожидаете.

CREATE TABLE #T (
    AircontractIDFK INT
    ,DepCity CHAR(3) 
    ,SeatsHeld INT
)

INSERT INTO #T(
    AircontractIDFK
    ,DepCity
    ,SeatsHeld
)
SELECT
    AircontractIDFK
    ,DepCity
    ,SeatsHeld
FROM
    (VALUES (1175, 'JFK', 29)
            ,(4385, 'CLT', 27)
            ,(4385, 'CVG', 2)
            ,(4389, 'ORD', 7)
            ,(4389, 'ORD', 24)) AS T (AircontractIDFK, DepCity, SeatsHeld)

;WITH CTE_T AS(
    SELECT
        AircontractIDFK
        ,DepCity
        ,SUM(SeatsHeld) AS SeatsHeld
    FROM
        #T
    GROUP BY
        AircontractIDFK
        ,DepCity
)
SELECT
    *
    ,STUFF((SELECT ',' + ST.DepCity + '(' + CAST(ST.SeatsHeld AS VARCHAR(10)) + ')' FROM CTE_T ST  WHERE ST.AircontractIDFK = T.AircontractIDFK  FOR XML PATH('')), 1,1,'')

FROM
    CTE_T T
0 голосов
/ 16 октября 2019

Я выполнил этот запрос на SQL-сервере 2014:

SELECT AircontactIDFK, STRING_AGG(DepCity+' ('+CAST(SeatsHeld as nvarchar(10))+') ',',') as Seats
FROM Airport
GROUP BY AircontactIDFK</p>

<p>
Вот результат: enter image description here Пожалуйста, дайте мне знать, работает ли он у вас?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...