SQL 삽입 문에 문제가 있습니다.열이있는 곳으로 SQL 삽입
현재 Insert 문은 .CSV 파일의 데이터를 SQL 테이블로 전송하는 데 사용되지만 .CSV 파일의 내용이 다를 수 있습니다. 예를 들어 .CSV 파일의 내용이 이전과 다른 열을 포함 할 수 있습니다.
.CSV 파일에서 데이터를 가져 오는 데 사용하는 문은 .CSV가 나타나는 임시 테이블을 만드는대로 다른 열을 지원합니다.
INSERT INTO RTCU(ItemDATE, ItemTIME, SITENAME, GENSETNAME, GENSET_SN, REASON, EVENT, RPM, Pwr
,Gfrq ,Vg1 ,Vg2 ,Vg3 ,Vg12 ,Vg23 ,Vg31, Ig1, Ig2, Ig3, Mfrq, Vm1, Vm2, Vm3
,Vm12 ,Vm23 ,Vm31 ,BIN ,BOUT ,Mode ,CCpres ,OilLev
,ActDem ,OilT ,AirInT ,RecAT ,JWTout ,JWTin ,JWGKin ,CylA1 ,CylA2 ,CylA3 ,CylA4 ,CylA5
,CylA6 ,CylB1 ,CylB2 ,CylB3 ,CylB4 ,CylB5 ,CylB6 ,ActPwr ,kWhour ,Runhrs ,VRO)
SELECT CONVERT(DATETIME,ItemDATE,103), ItemTIME, SITENAME, GENSETNAME, GENSET_SN, REASON, EVENT, RPM, Pwr
,Gfrq ,Vg1 ,Vg2 ,Vg3 ,Vg12 ,Vg23 ,Vg31, Ig1, Ig2, Ig3, Mfrq, Vm1, Vm2, Vm3
,Vm12 ,Vm23 ,Vm31 ,BIN ,BOUT ,Mode ,CCpres ,OilLev
,ActDem ,OilT ,AirInT ,RecAT ,JWTout ,JWTin ,JWGKin ,CylA1 ,CylA2 ,CylA3 ,CylA4 ,CylA5
,CylA6 ,CylB1 ,CylB2 ,CylB3 ,CylB4 ,CylB5 ,CylB6 ,ActPwr ,kWhour ,Runhrs ,VRO
FROM tmpDATA
하지만 당신은 내가 고정 복사 열을 볼 수있는 내 .CSV 파일 중 하나가 열 "HeatMeter"가 그래서 만약 어떤 방법 것 :
는내가 현재 사용하는 삽입 문이다 이 열을 RTCU 테이블에 복사하는 방법에 대해 알고 싶습니다.
미리 감사드립니다. 닐
대상 테이블에 해당 필드가없는 경우 해당 필드를 테이블에 삽입 할 수 없습니다. 필드에 삽입 할 데이터의 경우 해당 필드가 있어야합니다. 그래서, 기존 테이블에 필드를 추가하는 방법을 묻고 있습니까? 또는'table1.fieldX'를'table2.fieldY'에 삽입하는 방법을 묻고 있습니까? 지금이 질문에 '이 둥근 구멍에이 사각형 못을 어떻게 끼워 넣을 수 있습니까?'라는 질문이 있지만 실제로 어떤 접근 방식이 도움이 될지 이해하는 데 필요한 명확한 설명이 필요하다고 생각합니다. – MatBailie
대상 테이블에 열이 있지만 소스 테이블에 해당 열이 있거나 없을 수 있습니다. 그래서 예를 들어 소스 A는 소스 B가 'Pwr, RPM, Volts, Freq, Mode, CCpres, OilLev'를 가질 수있는 'Pwr, RPM, Volts, Freq, Mode'열을 가질 수 있으며 결과 A + B는 'Pwr, RPM , Volts, Freq, Mode, CCpres, OilLev '어떻게 소스 A와 B의 서로 다른 내용이 결과에 복사되는지 확인합니까? – neilrudds