בדף הזה יש התייחסות לפרמטר
sqlשהוא חלק מצירוף.אפשר להשתמש ב-
sqlגם כחלק משדה, כמו שמתואר בדף התיעוד של הפרמטרsql(לשדות).אפשר להשתמש ב-
sqlגם כחלק מטבלה נגזרת, כמו שמתואר בדף התיעוד של הפרמטרsql(לטבלאות נגזרות).
הגדרה
sql מאפשר לכם לכתוב את ה-SQL הגולמי שיצור שאילתת איחוד (join) של תצוגה עם Explore. כרגע הוא משמש כמעט באופן בלעדי להפעלת RIGHT JOIN, שלא נתמך על ידי הפרמטר type. אחרת, יש פרמטרים טובים יותר שאפשר להשתמש בהם כדי לבצע צירופים.
לפני Looker 3.10, sql הייתה השיטה היחידה שהייתה זמינה לביצוע צירוף שלא היה LEFT JOIN. לדוגמה, לפני גרסה 3.10 יכול להיות שיצרתם INNER JOIN בין event Explore לבין member תצוגה מפורטת באופן הבא:
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 ;;
}