이 페이지에서는 join의 일부인
sql파라미터를 참조합니다.
sql은sql(필드의 경우) 매개변수 문서 페이지에 설명된 대로 필드의 일부로 사용할 수도 있습니다.
sql는sql(파생 테이블용) 매개변수 문서 페이지에 설명된 대로 파생 테이블의 일부로도 사용할 수 있습니다.
정의
sql를 사용하면 뷰를 Explore에 조인하는 원시 SQL을 작성할 수 있습니다. 현재는 type 매개변수에서 지원하지 않는 RIGHT JOIN을 실행하는 데 거의 독점적으로 사용됩니다. 그렇지 않으면 조인을 실행하는 데 더 나은 매개변수가 있습니다.
Looker 3.10 이전에는 sql가 LEFT JOIN가 아닌 조인을 실행하는 데 사용할 수 있는 유일한 메서드였습니다. 예를 들어 3.10 이전에는 다음과 같이 event Explore와 member 뷰 사이에 INNER JOIN를 만들었을 수 있습니다.
explore: event {
join: member {
sql:
INNER JOIN member
ON member.id = event.member_id ;;
}
}
-
Looker 3.10부터는 조인을 sql_on 또는 foreign_key로 실행해야 하며 조인 유형은 다음과 같이 type을 사용하여 정의해야 합니다.
# Option 1 Using sql_on
explore: event {
join: member {
sql_on: ${member.id} = ${event.member_id} ;;
type: inner
}
}
# Option 2 Using foreign_key
explore: event {
join: member {
foreign_key: member_id
type: inner
}
}
-
sql의 두 번째 일반적인 사용 사례는 '페더레이티드 조인'이라고 하는 두 개의 서로 다른 데이터베이스의 테이블을 조인하는 것이었습니다. 예를 들어 다음과 같은 LookML을 작성했을 수 있습니다.
# Model File
explore: view_1 {
join: view_2 {
sql:
LEFT JOIN other_db.other_schema.view_2 AS view_2
ON view_1.something = view_2.something ;;
}
}
-
이제 다음과 같이 sql_table_name을 대신 사용하여 이를 달성할 수 있습니다.
# Model File
explore: view_1 {
join: view_2 {
sql_on: ${view_1.something} = ${view_2.something} ;;
type: left_outer
}
}
# View File
view: view_2 {
sql_table_name: other_db.other_schema.view_2 ;;
}