У меня есть запрос, который выбрать все автомобиль делает и рассчитывать каждый делает количество в ответSQL Server с несколькими выберите
SELECT
q.Make, Count(q.ID)
FROM
(SELECT
cars.ID, cars.Make, cars.Model,
cars.Year1, cars.Month1, cars.KM, cars.VIN,
cars.Fuel, cars.EngineCap, cars.PowerKW,
cars.GearBox, cars.BodyType, cars.BodyColor,
cars.Doors, cars.FullName, Transport.address,
(DateDiff(second,Getdate(),cars.AuEnd)) as r,
cars.AuEnd, cars.BuyNowPrice, cars.CurrentPrice
FROM
cars
LEFT JOIN
Transport ON Cars.TransportFrom = Transport.ID
WHERE
Active = 'True'
AND AuEnd > GETDATE()
AND year1 >= 1900 AND year1 <= 2015
AND Make in ('AUDi', 'AIXAM', 'ALPINA')
ORDER BY
cars.make ASC, cars.model ASC
OFFSET 50 ROWS FETCH NEXT 50 ROWS ONLY) AS q
GROUP BY
q.make ORDER BY q.make ASC;
Теперь мне нужно получить в результате, как третье поле каждый делает общее количество без смещения, так Теперь я получаю результат
Make CountInResponse
AIXAM 1
ALPINA 1
AUDI 48
Но мне нужно, чтобы получить
Make CountInResponse Total
AIXAM 1 1
ALPINA 1 1
AUDI 48 100
Я думаю, что нужно что-то вроде
SELECT
q.Make, Count(q.ID),
(SELECT Make, Count(ID)
FROM cars
WHERE Active = 'True' AND AuEnd > GETDATE()
AND year1 >= 1900 AND year1 <= 2015
AND Make in ('AUDI', 'AIXAM', 'ALPINA')
GROUP BY Make) as q2
FROM
(SELECT
cars.ID, cars.Make, cars.Model,
cars.Year1, cars.Month1, cars.KM, cars.VIN,
cars.Fuel, cars.EngineCap, cars.PowerKW,
cars.GearBox, cars.BodyType, cars.BodyColor,
cars.Doors, cars.FullName, Transport.address,
(DateDiff(second,Getdate(),cars.AuEnd)) as r,
cars.AuEnd, cars.BuyNowPrice, cars.CurrentPrice
FROM
cars
LEFT JOIN
Transport ON Cars.TransportFrom = Transport.ID
WHERE
Active = 'True'
AND AuEnd > GETDATE()
AND year1 >= 1900 AND year1 <= 2015
AND Make in ('AUDi', 'AIXAM', 'ALPINA')
ORDER BY
cars.make ASC, cars.model ASC
OFFSET 50 ROWS FETCH NEXT 50 ROWS ONLY) AS q
Но я получаю ошибку
Msg 116, уровень 16, состояние 1, строка 10
Только одно выражение можно указать в списке выбора, когда подзапрос не вводится с EXISTS.
Как написать правильный синтаксис?
Прежде всего, необходимо сказать, что значение, которое вы должны показать в 'q2'. Вы выбираете два столбца в 'q2' (т.е.)' Make, Count (ID) 'вы не можете сделать это в' sql server' –
Fisrt Count для смещенного запроса второго для общего количества без смещения –