테이블에서 데이터를 추출하고 변환한 다음 해당 데이터를 다른 테이블에 삽입하는 쿼리를 작성하려고 합니다. 예, 이것은 데이터 웨어하우징 쿼리이며 MS Access에서 수행하고 있습니다. 그래서 기본적으로 다음과 같은 쿼리를 원합니다:
INSERT INTO Table2(LongIntColumn2, CurrencyColumn2) VALUES
(SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1);
시도했지만 구문 오류 메시지가 나타납니다.
이 작업을 수행하려면 어떻게 해야 하나요?
두 구문을 옵션이 있습니다.
CREATE TABLE Table1 (
id int identity(1, 1) not null,
LongIntColumn1 int,
CurrencyColumn money
)
CREATE TABLE Table2 (
id int identity(1, 1) not null,
LongIntColumn2 int,
CurrencyColumn2 money
)
INSERT INTO Table1 VALUES(12, 12.00)
INSERT INTO Table1 VALUES(11, 13.00)
INSERT INTO Table2
SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1
CREATE TABLE Table1 (
id int identity(1, 1) not null,
LongIntColumn1 int,
CurrencyColumn money
)
INSERT INTO Table1 VALUES(12, 12.00)
INSERT INTO Table1 VALUES(11, 13.00)
SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1
INTO Table2
FROM Table1
GROUP BY LongIntColumn1
표 2 에서 열을 만들 수 있다는 것을 명심해야 옵션을 사용할 투영 (선택) 에 해당).
I believe your problem 이 인스턴스는 " values"; 키워드. &Quot values", 사용할 수 있습니다. 키워드 하나만 삽입할 때는 행 데이터. # 39, 결과를 삽입을 위한 선택, 너회가 don& t need it.
또한 select 문의 주변에 괄호 don& # 39, 정말 필요한 건 아니다.
[Msdn] 에서 1:
여러 레코드 덮어쓰기/추가 쿼리하지:
INSERT INTO target [(field1[, field2[, …]])] [IN externaldatabase]
SELECT [source.]field1[, field2[, …]
FROM tableexpression
단일 레코드 덮어쓰기/추가 쿼리하지:
INSERT INTO target [(field1[, field2[, …]])]
VALUES (value1[, value2[, …])
&Quot 제거하시겠습니까 values"; # 39 한 무리의 행 및 분리하십시오 you& 때, re) 를 추가 괄호. 순환 참조) 를 사용하여 평균 앨리어스입니다 면할 수 있습니다 (커렌시콜럼너) 으로 재발했지 in your 예) 또는 전혀 사용하지 않는 앨리어스를.
초기의 이름은 모두 열 경우 테이블뿐 너회의 쿼리는 다음과 같습니다.
INSERT INTO Table2 (LongIntColumn, Junk)
SELECT LongIntColumn, avg(CurrencyColumn) as CurrencyColumn1
FROM Table1
GROUP BY LongIntColumn;
또한 앨리어스를 없이 협력할 것이라고 말했다.
INSERT INTO Table2 (LongIntColumn, Junk)
SELECT LongIntColumn, avg(CurrencyColumn)
FROM Table1
GROUP BY LongIntColumn;
다른 테이블에 한 표를 다른 데이터베이스 형태로 데이터를 삽입
insert into DocTypeGroup
Select DocGrp_Id,DocGrp_SubId,DocGrp_GroupName,DocGrp_PM,DocGrp_DocType
from Opendatasource( 'SQLOLEDB','Data Source=10.132.20.19;UserID=sa;Password=gchaturthi').dbIPFMCI.dbo.DocTypeGroup
뭐 내가 생각하는 가장 좋은 방법은 약간만이라도 (적립율은?) 정의하십시오 솔리드로 사이의 중간 2 레코드세트 및 사용 2 표.
특히 흥미로운 업데이트하려면 계획이라면 이 방법은 서로 다른 데이터베이스 테이블 (즉, 각 레코드세트 자체 연결 할 수 있습니다.)