[SQL] 구글 스프레드 시트 "= QUERY는"() 해당 기능을 결합?
SQL구글 스프레드 시트 "= QUERY는"() 해당 기능을 결합?
이 질문은 사용하여 Google 스프레드 시트에서 두 개의 데이터베이스에 합류 관련된있다 = QUERY 기능
그래서 범위 A1에서 같은 테이블이 : C3를
a d g
b e h
c f i
나는 다른 테이블이
c j m
a k n
b l o
나는 마지막 표는 다음과 같이 할
a d g k n
b e h l o
c f i j m
나는 셀 D1에 아주 쉽게 VLOOKUP 함수를 사용하여이 작업을 수행하고 아래로 가로 질러 붙여 넣습니다,하지만 내 데이터 세트가 크다 할 수 있습니다. 나는 vlookups의 전체 페이지를 필요 구글 스프레드 시트 내가 복잡성 내 한계에 있어요 알려줍니다.
내가 언급 한 "참여"기능의 유형이있을 것 같지 않습니다 ... 구글의 쿼리 언어 참조 봐. 당신은 쉬운 유형 작업 "A 조인"가 될 것이라고 생각합니다.
VLOOKUP없이 캔 누구든지 해결할 수있는 문제이?
해결법
-
==============================
1.구글 QUERY 언어 버전 0.7 (2016)는 가입 (LEFT 조인) 연산자를 포함하지 않지만,이 조회 함수에 대한 입력으로 사용하거나 다른 용도로 사용될 수있는 결과 배열 수식을 이용함으로써 달성 될 수있다.
구글 QUERY 언어 버전 0.7 (2016)는 가입 (LEFT 조인) 연산자를 포함하지 않지만,이 조회 함수에 대한 입력으로 사용하거나 다른 용도로 사용될 수있는 결과 배열 수식을 이용함으로써 달성 될 수있다.
배열 수식과 구글 시트의 기능을 처리하는 배열은이 두 가지 간단한 테이블 사이에 가입하는 것이 가능합니다. 쉽게 읽을 수 있도록하기 위해, 제안 된 수식을 사용하는 대신 범위 참조의 범위를 지명했다.
=ArrayFormula( { table1, vlookup(ID,table2,COLUMN(Indirect("R1C2:R1C"&COLUMNS;(table2),0)),0) } )
비고 :
예를 들어이 시트를 참조하십시오
2017에 구글은 QUERY, 쿼리 기능에 대한 영어 공식 도움말을 개선. 아직이 같은 주제를 아직 포함하지 않고 어떻게 작동하는지 이해하는 데 도움이 될 수 있습니다.
-
==============================
2.당신은 ARRAYFORMULA를 사용하거나 당신은이 공식을 드래그 할 수 있습니다 : 가져 오기 또는 첫 번째 테이블을 쿼리 보내고 이후; D 형 컬럼 :
당신은 ARRAYFORMULA를 사용하거나 당신은이 공식을 드래그 할 수 있습니다 : 가져 오기 또는 첫 번째 테이블을 쿼리 보내고 이후; D 형 컬럼 :
=QUERY(Sheet2!A1:C3, "Select B,C WHERE A='" & A1 & "'", 0)
-
==============================
3.그래서,이 답변 당신은 VLOOKUP 함수와 함께 할, 그러나 단 하나의 셀에 방법에 대해 설명합니다. 당신의 예에서, 데이터의 각 테이블은 다음의 셀 참조를 가지고 주어진 :
그래서,이 답변 당신은 VLOOKUP 함수와 함께 할, 그러나 단 하나의 셀에 방법에 대해 설명합니다. 당신의 예에서, 데이터의 각 테이블은 다음의 셀 참조를 가지고 주어진 :
표 1 :! Sheet1의 A1 : C3
a d g b e h c f i
표 2 :! Sheet2의 A1 : C3
c j m a k n b l o
이 수식이 구축되어야하는 방법이다.
=ArrayFormula( { Sheet1!A1:C, vlookup(Sheet1!A1:A, {Sheet2!A1:A, Sheet2!B1:C}, {2,3}, false) } )
작업이 공식을 얻을 수있는 키는 VLOOKUP 범위에서 중괄호를 사용하는 방법을 이해하는 것입니다. 당신은 기본적으로 VLOOKUP SEARCH_KEY에 경기가 될 컬럼과 범위의 첫 번째 셀 참조를 정의합니다. 범위의 셀 참조의 나머지는 당신이 가입하고자하는 열의와 관련입니다.
인덱스로 기입된다 {2,3}는 범위 (범위는 3 열의 전체 구성)의 두 번째 및 세 번째 열을 반환하는 단계; 중괄호는 VLOOKUP 지수 ARRAYFORMULA와는 아무 상관이없는,하지만 VLOOKUP 함수에서 여러 열을 반환하는 것이 필요하다. 당신이 가입의 목적을 위해 사용되는 열을 포함하지 않는 것처럼 때문에하지 쓰기 {1,2,3}에 대한 이유입니다.
두 번째 테이블에서 조인 열이 테이블의 세번째 컬럼으로 위치하는 경우에도 가입-화학식 이러한 종류를 이용할 수있다. 의이 예에서 원시 데이터는 다음과 같이 것이라고 가정 해 봅시다 :
표 (Sheet1의) :
a d g b e h c f i
표 2 (시트 2)
j m c k n a l o b
이 같은 공식을 작성하는 경우, 당신은 여전히 원하는 결과를 (가입 데이터의 표에 표시된대로) 얻을 것이다 :
=ArrayFormula( { Sheet1!A1:C, vlookup(Sheet1!A1:A, {Sheet2!C1:C, Sheet2!A1:B}, {2,3}, false) } )
가입 데이터의 테이블 :
a d g k n b e h l o c f i j m
조인 - 식 중, 표 2의 세 번째 열은 VLOOKUP 범위의 첫 번째 셀 참조 위치하고 있는지 통지! 당신이 (ARRAYFORMULA와 함께) 범위에서 중괄호를 사용할 때 VLOOKUP SEARCH_KEY가 대신 내에서 배열을 사용, 원시 데이터 내에서 공통 분모로 열을 찾지 때문에 왜이 작품에 대한 이유이며, 참고로 중괄호는 공통 분모 (기본적으로이 범위의 첫 번째 열)로 열을 찾을 수 있습니다.
나는이라는 주제에 대한 포괄적 인 가이드를 작성했습니다 :
-
==============================
4.특정 행이나 열을 각각 "인덱스"(A, B, C)를 매핑 할 수있는 경우에, 당신은 INDEX 함수를 사용할 수 있습니다.
특정 행이나 열을 각각 "인덱스"(A, B, C)를 매핑 할 수있는 경우에, 당신은 INDEX 함수를 사용할 수 있습니다.
이 경우 등등, 당신은 아마 'A'열에를 매핑 할 수 있습니다 (또는 1 행) 열 B에, 'B'를 (또는 2 행)합니다.
또한, 병합 테이블이 정확한 사용 사례를 해결하기 위해 보인다.
-
==============================
5.A5의 '다른'테이블 : C7, 시도하십시오 :
A5의 '다른'테이블 : C7, 시도하십시오 :
=query({A1:C3,query(sort(A5:C7,1,TRUE),"Select Col2,Col3")})
-
==============================
6.나는 자바 스크립트 LINQ (언어 통합 쿼리)를 사용하여이 문제를 해결했다.
나는 자바 스크립트 LINQ (언어 통합 쿼리)를 사용하여이 문제를 해결했다.
그것은 복잡한 조건에 가입 당신은 자바 스크립트를 지정할 수 있습니다. 또한, 투사 정렬하고 데이터베이스 테이블 것처럼 당신의 시트를 필터링, 같은 그룹화와 같은 다른 SQL 쿼리를 수행 할 수 있습니다. 아래의 링크를 봐.
LINQ 쿼리 언어에 내가 그들을 유효 JS 식별자하게 밑줄로 열 이름의 모든 공백을 대체합니다.
https://docs.google.com/spreadsheets/d/1DHtQlQUlo-X_YVfo-Wo-b7315sSk2pxL5ci4Y9lxvZo/edit?usp=sharing
https://script.google.com/d/1R5L2ReHJrBRwyoSoVOFLzEQZiGtxidPfPkAeVownt7SWX6TpacY7gA7j/edit?usp=sharing
from https://stackoverflow.com/questions/14796620/google-spreadsheet-query-join-equivalent-function by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 도전, 어떻게 분리의 여섯 개 학위 알고리즘을 구현하는 방법? (0) | 2020.06.01 |
---|---|
[SQL] ANSI SQL 설명서 (0) | 2020.06.01 |
[SQL] MySQL의 INNER는 두 번째 테이블에서 하나의 행을 선택 가입 (0) | 2020.06.01 |
[SQL] 열이 수정 SQL 업데이트 트리거 만 (0) | 2020.06.01 |
[SQL] SQL 키워드에 대한 대문자를 사용하는 좋은 이유가 있나요? [닫은] (0) | 2020.06.01 |