This page refers to the
sql_table_name
parameter that is part of a join.
sql_table_name
can also be used as part of a view, described on thesql_table_name
(for views) parameter documentation page.
sql_table_name
can also be used as part of an Explore, described on thesql_table_name
(for Explores) parameter documentation page.
Usage
join: view_name {
sql_table_name: table_name ;;
}
}
Hierarchysql_table_name |
Default ValueNoneAcceptsA table name in your databaseSpecial Rules
|
Definition
Typically the view on which a join
is based defines the table that will be queried.
However, you can use sql_table_name
to set the table in your database that will be queried by a join
. This is unusual, but it can be useful when multiple tables have the same schema, because it allows the same view to be used to describe all of them. sql_table_name
enables you to specify which of those tables should be used by the view you are joining. In such situations, consider using extends
or refinements.
If you need to reference a table from a different schema, you can use schema_name.table_name
. If you need to reference a table from a different database you can use database_name.schema_name.table_name
. However, please note that joins across databases require that the databases be on the same machine and be in the same SQL dialect.
If you don’t explicitly specify the schema, Looker will use the default that you have set. The default is configured in the Admin section of Looker under Connections.
Examples
Make the customers
join rely on the customer_1
table from the default schema:
Make the customers
Explore rely on the customer_1
table from the analytics
schema:
Common challenges
Tables referenced by sql_table_name
must be accessible from the current connection
sql_table_name
will be used with a join that is, in turn, part of a model. The model will have a database connection defined in it. Any table you reference in sql_table_name
must be accessible within that database connection.
Things to know
To name a join
differently than the underlying table, apply sql_table_name
at the view level
Using sql_table_name
at the join
level, as described on this page, is not very common. It should only be used when the same view can describe multiple tables.
The more typical method is to use sql_table_name
at the view level when you want to name a view differently than the underlying table name.
In other words, instead of this:
Model File
do this:
Model File
View File