本頁面是指 加入程序中的
sql參數。如
sql(適用於欄位) 參數說明頁面所述,sql也可做為欄位的一部分。如
sql(適用於衍生資料表) 參數說明文件頁面所述,sql也可用於衍生資料表。
定義
sql 可讓您編寫原始 SQL,將檢視區塊彙整至探索。目前幾乎只用於執行 RIGHT JOIN,而 type 參數不支援這項操作。否則,您可以使用更合適的參數來執行聯結。
在 Looker 3.10 之前,sql 是唯一可用的方法,用於執行非 LEFT JOIN 的聯結。舉例來說,在 3.10 之前,您可能已在 INNER JOIN 和 member 檢視畫面之間建立 INNER JOIN,如下所示:event
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 ;;
}