2017-09-20 3 views
2

병합 된 쿼리 테이블에 메모 열을 추가하여 데이터를 새로 고치면 레코드에서 작성한 메모가 계속 정렬됩니다. 이 작업을 수행하기 위해 어떻게 열을 추가 할 수 있습니까?Excel Power Query 2016 사용자 정의 열

+0

문제는 명확하지 않다.당신이 달성하고자하는 것에 대해 좀 더 많은 예를 쓰고, 시도하고있는 도구에 대해 좀 더 구체적으로 생각해보십시오. – norok2

답변

0

MySQL은 원하는 데이터를 정확히 삽입하고 업데이트 할 수 있도록 INSERT 및 UPDATE에 대해 여러 변형을 제공합니다. 이러한 기능은 많은 힘과 유연성을 제공하여 MySQL이 다른 것보다 훨씬 뛰어난 기능을 제공합니다. 이 기사에서는 각 기능에 대한 개요를 제공하고, 각 기능을 선택하는 방법을 이해하고,주의해야 할 몇 가지 사항을 지적합니다.

설정

내 예제를 만들 MySQL은 4.1.15을 사용하고 있습니다. 나는 다음과 같은 샘플 데이터와 트랜잭션에 대한 지원없이 MyISAM 테이블을 가정

create table t1 (
    a int not null primary key, 
    b int not null, 
    c int not null 
) type=MyISAM; 

create table t2 (
    d int not null primary key, 
    e int not null, 
    f int not null 
) type=MyISAM; 

insert into t1 (a, b, c) values 
    (1, 2, 3), 
    (2, 4, 6), 
    (3, 6, 9); 

insert into t2 (d, e, f) values 
    (1, 1, 1), 
    (4, 4, 4), 
    (5, 5, 5); 

개요

은 가정하자 내가 T1에 T2에서 데이터를 삽입하고 싶습니다. 이 데이터는 삽입이 실패 할 수 있도록 기본 키 (행 a가 1 인 행이 존재)를 위반합니다. ERROR 1062 (23000) : 키 1에 중복 항목 '1'이 있습니다. MySQL에서 기본 키는 단순히 고유합니다 PRIMARY라는 색인 고유 색인을 위]하는 모든 데이터는 동일한. 제점을 야기합니다.

이 상황은 자주 발생합니다. 예를 들어 일부 데이터를 스프레드 시트로 내보내 클라이언트로 보내면 클라이언트가 일부 데이터를 업데이트하거나 추가하여 스프레드 시트를 반환 할 수 있습니다. 이것은 데이터를 업데이트하는 끔찍한 방법이지만 여러 가지 이유로 많은 독자들이 비슷한 상황에 처한 것으로 확신합니다. 서로 다른 스프레드 시트에 여러 버전의 데이터가있는 클라이언트와 작업 할 때 많은 일이 발생합니다. 서식을 표준화하고 관계형 데이터베이스로 가져 오는 작업을 모두 정리해야합니다. 한 스프레드 시트로 시작한 다음 다른 페이지와의 차이점을 삽입하거나 업데이트해야합니다.

내가 원하는 것은 새 행만 삽입하거나 새 행을 삽입하고 변경된 행을 업데이트하는 것입니다 (시나리오에 따라 다름). 두 가지 작업을 수행하는 데는 여러 가지 방법이 있습니다. 남아

은 T2에서 중복 행을 삭제하고 모든 삽입 :

삽입에만 새 행

내가, 내가 할 수있는 고유 인덱스를 위반하지에만 행을 삽입 할 경우

delete t2 from t2 inner join t1 on a = d; 
insert into t1 select * from t2; 

첫 번째 명령문은 t2에서 첫 번째 행을 삭제합니다. 두 번째는 나머지 두 개를 삽입합니다. 이 접근법의 단점은 테이블이 MyISAM이고 두 개의 명령문이 있기 때문에 트랜잭션 적이 아니기 때문입니다. 동시에 다른 테이블을 변경하지 않으면 문제가되지 않을 수도 있습니다. 또 다른 단점은 필자가 후속 쿼리에서 원하는 일부 데이터를 삭제했다는 것입니다.