Вставка данных в таблицу Temp с запросом
У меня есть существующий запрос, который выводит текущие данные, и я хотел бы вставить его в таблицу Temp, но у меня возникают некоторые проблемы. Кто-нибудь будет иметь представление о том, как это сделать?
Вот пример
SELECT *
FROM (SELECT Received,
Total,
Answer,
( CASE
WHEN application LIKE '%STUFF%' THEN 'MORESTUFF'
END ) AS application
FROM FirstTable
WHERE Recieved = 1
AND application = 'MORESTUFF'
GROUP BY CASE
WHEN application LIKE '%STUFF%' THEN 'MORESTUFF'
END) data
WHERE application LIKE isNull('%MORESTUFF%', '%')
Кажется, что мои данные сейчас выводятся так, как мне это нужно, но я хотел бы передать их в таблицу Temp. Моя проблема в том, что я довольно новичок в SQL-запросах и не смог найти способ сделать это. Или, если это возможно. Если это невозможно, есть ли лучший способ получить данные, которые я ищу WHERE application LIKE isNull('%MORESTUFF%','%')
, в таблицу temp?
Любая помощь будет очень признательна! Спасибо!
Ответы
Ответ 1
SELECT *
INTO #Temp
FROM
(SELECT
Received,
Total,
Answer,
(CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END) AS application
FROM
FirstTable
WHERE
Recieved = 1 AND
application = 'MORESTUFF'
GROUP BY
CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END) data
WHERE
application LIKE
isNull(
'%MORESTUFF%',
'%')
Ответ 2
SQL Server R2 2008 требует предложения AS
следующим образом:
SELECT *
INTO #temp
FROM (
SELECT col1, col2
FROM table1
) AS x
Запрос завершился без AS x
в конце.
Ответ 3
Самый быстрый способ сделать это - использовать команду "SELECT INTO", например.
SELECT * INTO #TempTableName
FROM....
Это создаст новую таблицу, вам не нужно ее заранее создавать.
Ответ 4
Вы можете сделать это вот так:
INSERT INTO myTable (colum1, column2)
SELECT column1, column2 FROM OtherTable;
Просто убедитесь, что столбцы соответствуют, как по числу, так и по типу данных.
Ответ 5
Попробуйте следующее:
SELECT *
INTO #Temp
FROM
(select * from tblorders where busidate ='2016-11-24' and locationID=12
) as X
Пожалуйста, используйте псевдоним с x, чтобы он не пропустил script и результат.
Ответ 6
Лично мне нужна была небольшая рука, чтобы понять, как это использовать, и это действительно потрясающе.
SELECT *
INTO #TEMP
FROM (
The query you want to use many times
) AS X
SELECT * FROM #TEMP WHERE THIS = THAT
SELECT * FROM #TEMP WHERE THIS <> THAT
SELECT COL1,COL3 FROM #TEMP WHERE THIS > THAT
DROP TABLE #TEMP
Ответ 7
SELECT * INTO #TempTable
FROM SampleTable
WHERE...
SELECT * FROM #TempTable
DROP TABLE #TempTable