Halaman ini merujuk pada parameter
sqlyang merupakan bagian dari gabungan.
sqljuga dapat digunakan sebagai bagian dari kolom, seperti yang dijelaskan di halaman dokumentasi parametersql(untuk kolom).
sqljuga dapat digunakan sebagai bagian dari tabel turunan, seperti yang dijelaskan di halaman dokumentasi parametersql(untuk tabel turunan).
Definisi
sql memungkinkan Anda menulis SQL mentah yang akan menggabungkan tampilan ke Eksplorasi. Saat ini, parameter ini hampir secara eksklusif digunakan untuk mengeksekusi RIGHT JOIN, yang tidak didukung oleh parameter type. Jika tidak, ada parameter yang lebih baik untuk digunakan dalam menjalankan penggabungan.
Sebelum Looker 3.10, sql adalah satu-satunya metode yang tersedia untuk menjalankan gabungan yang bukan merupakan LEFT JOIN. Misalnya, sebelum 3.10, Anda mungkin telah membuat INNER JOIN antara Eksplorasi event dan tampilan member seperti ini:
explore: event {
join: member {
sql:
INNER JOIN member
ON member.id = event.member_id ;;
}
}
-
Mulai Looker 3.10, gabungan harus dieksekusi dengan sql_on atau foreign_key, sedangkan jenis gabungan harus ditentukan menggunakan type sebagai berikut:
# 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
}
}
-
Kasus penggunaan umum kedua untuk sql adalah menggabungkan tabel dari dua database yang berbeda, yang disebut "Gabungan Terfederasi". Misalnya, Anda mungkin telah menulis LookML ini:
# 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 ;;
}
}
-
Hal ini kini dapat dilakukan dengan menggunakan sql_table_name sebagai gantinya, seperti berikut:
# 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 ;;
}