У меня есть два различных запросов на выборку, которые возвращают данные, как показано ниже,регистрации в SQL Server 2008
Запрос 1
SELECT
COUNT(showtimeId) AS TotalShows,
SUM(sc.Capacity) AS ScreenCapacity,
ShowDate ------For all screens
FROM Shows s
JOIN Screens sc ON sc.ScreenID = s.ScreenID
WHERE
s.ShowDate < @dateNew -- someDate
AND s.MovieID = 34
AND s.IsDeleted = 0
GROUP BY
ShowDate
Это выводит данные на картинке
,
также другой select запрос как,
Запрос 2
SELECT
s.ShowDate,
COUNT(ut.UserTicketID) AS TotalTicketsSold,
SUM(ISNULL((Price+ConvinienceCharge-DiscountAmount)/(EntertainmentTax+BoxOfficeTax+1), 0)) AS Nett
FROM Shows s
LEFT OUTER JOIN UserTickets ut ON s.ShowID = ut.ShowID
WHERE
ut.ShowID IN (SELECT ShowID
FROM Shows
WHERE ShowDate < @dateNew -- someDate
AND MovieID = 34
AND IsDeleted = 0
GROUP BY
ShowID)
GROUP BY
s.ShowDate
Это выходные данные, как в образе
Я не могу присоединиться к этим две таблицы таким образом, чтобы получить выход, как это,
Я попытался объявить ta и вставлять в таблицы, а затем выбирать, используя запрос соединения, но faii для вставки в таблицы. Моя вставка запроса, как,
DECLARE @tempTable TABLE (
id INT identity(1, 1),
TotalShows INT,
ScreenCapacity INT,
ShowDate DATETIME
)
INSERT INTO @tempTable (
TotalShows,
ScreenCapacity,
ShowDate
)
VALUES (
(
SELECT COUNT(showtimeId) AS TotalShows,
sum(sc.Capacity) AS ScreenCapacity,
ShowDate ------For all screens
FROM Shows s
JOIN Screens sc ON sc.ScreenID = s.ScreenID
WHERE s.ShowDate < @dateNew -- someDate
AND s.MovieID = 34
AND s.IsDeleted = 0
GROUP BY ShowDate
)
)
И ошибка являются
только одно выражение может быть указан в списке выбора, когда подзапрос не вводится с EXISTS.
В инструкции INSERT больше столбцов, чем значений, указанных в предложении VALUES. Количество значений в предложении VALUES должно соответствовать количеству столбцов, указанных в инструкции INSERT.
Ваш 'INSERT' - это все неправильно; вы можете ** либо ** иметь 'INSERT INTO dbo.Table (col1, .., colN) VALUES (val1, .., valN)' и вы предоставляете n определенных значений в виде литералов или переменных SQL Server - ** OR * * вы используете 'INSERT INTO dbo.Table (col1, ..., colN) SELECT val1, .., valN ....' - используйте 'SELECT', но тогда вы ** не должны ** иметь' VALUES' ключевое слово. [Подробнее см. В официальных документах «INSERT»] (http://technet.microsoft.com/en-us/library/ms174335.aspx) –