【问题标题】:Getting an error of unrecognized name in JOIN query in BigQuery even after writing the correct table names即使在写入正确的表名之后,在 BigQuery 中的 JOIN 查询中也会出现无法识别的名称错误
【发布时间】:2022-06-15 22:01:13
【问题描述】:

表名称是“员工”和“部门”。 'ON' 后的最后一行显示无法识别的名称错误

SELECT 
  employees.name AS employee_name,
  employees.role AS employee_role,
  departments.name AS department
FROM
  `my-project-01-351918.employee_id.employees`
  INNER JOIN `my-project-01-351918.employee_id.departments` 
  ON employees.department_id = departments.department_id;

如何修复查询以获得 JOIN 结果? 我使用的是 BigQuery Sandbox 版本,这是 JOIN 功能不起作用的原因吗?

【问题讨论】:

    标签: sql google-bigquery inner-join nameerror


    【解决方案1】:

    如果您使用带有反引号(`)的引用的表名,并且想在ON 子句中引用它而不使用表别名,它应该在下面看起来很难看。

    SELECT 
      employees.name AS employee_name,
      employees.role AS employee_role,
      departments.name AS department
    FROM
      `my-project-01-351918.employee_id.employees`
      INNER JOIN `my-project-01-351918.employee_id.departments` 
      ON `my-project-01-351918.employee_id.employees`.department_id =
         `my-project-01-351918.employee_id.departments`.department_id;
    

    没有表别名,

    您可以编写如下查询。请注意,只有{project}.{dataset} 部分用反引号引用。此表单具有与表名相同的别名,您可以在ON 子句中使用它。

    SELECT 
      employees.name AS employee_name,
      employees.role AS employee_role,
      departments.name AS department
    FROM
      `my-project-01-351918.employee_id`.employees
      INNER JOIN `my-project-01-351918.employee_id`.departments
      ON employees.department_id = departments.department_id;
    

    使用表别名,

    您可以使用表的显式别名并在ON 子句中使用它。

    SELECT 
      employees.name AS employee_name,
      employees.role AS employee_role,
      departments.name AS department
    FROM
      `my-project-01-351918.employee_id.employees` AS employees
      INNER JOIN `my-project-01-351918.employee_id.departments` AS departments
      ON employees.department_id = departments.department_id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      相关资源
      最近更新 更多