현재 데이터를 출력하는 기존 쿼리가 있는데 임시 테이블에 삽입하고 싶지만 문제가 있습니다. 이 작업을 수행하는 방법에 대한 통찰력이 있습니까?
여기에 예가 있습니다
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%', '%')
이것은 현재 필요한 방식으로 내 데이터를 출력하는 것 같지만 임시 테이블에 전달하고 싶습니다. 내 문제는 SQL 쿼리에 익숙하지 않아 그렇게 할 수있는 방법을 찾지 못했다는 것입니다. 또는 가능하다면. 가능하지 않은 경우 찾고있는 데이터를 WHERE application LIKE isNull('%MORESTUFF%','%')
임시 테이블로 가져 오는 더 좋은 방법이 있습니까?
답변
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%',
'%')
답변
SQL Server R2 2008 AS
에는 다음과 같은 절이 필요합니다 .
SELECT *
INTO #temp
FROM (
SELECT col1, col2
FROM table1
) AS x
끝없이 쿼리가 실패했습니다 AS x
.
편집하다
SS2016을 사용할 때도 필요 as t
하며 끝에 추가 해야했습니다.
Select * into #result from (SELECT * FROM #temp where [id] = @id) as t //<-- as t
답변
가장 빠른 방법은 “SELECT INTO”명령을 사용하는 것입니다. 예 :
SELECT * INTO #TempTableName
FROM....
이렇게하면 새 테이블이 만들어 지므로 미리 만들 필요는 없습니다.
답변
개인적으로, 나는 이것을 사용하는 방법을 알아내는 작은 손을 잡고 필요했고 정말 훌륭합니다.
IF(OBJECT_ID('tempdb..#TEMP') IS NOT NULL) BEGIN DROP TABLE #TEMP END
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
답변
다음과 같이 할 수 있습니다.
INSERT INTO myTable (colum1, column2)
SELECT column1, column2 FROM OtherTable;
데이터 유형에서와 같이 열이 일치하는지 확인하십시오.
답변
이 시도:
SELECT *
INTO #Temp
FROM
(select * from tblorders where busidate ='2016-11-24' and locationID=12
) as X
스크립트와 결과에 실패하지 않도록 x와 함께 별칭을 사용하십시오.
답변
SELECT * INTO #TempTable
FROM SampleTable
WHERE...
SELECT * FROM #TempTable
DROP TABLE #TempTable