首页 > 解决方案 > 我想通过从三个 SQL 表中获取数据来创建视图表。但问题是相同的列名未显示在表中

问题描述

我想通过从三个 SQL 表中获取数据来创建视图表。但问题是相同的列名未显示在表中。当我尝试运行 Query is SQL 时出现错误。

表A和表C有一个相同的列名,表B有不同的列名。我的 SQL 查询

CREATE VIEW reporting AS 
SELECT 
    chart_entery.booking_id, 
    chart_entery.activity_name, 
    tbl_booking.ref_no 
FROM proof a 
JOIN tbl_booking b 
JOIN chart_entery c 
WHERE 
    a.booking_id = b.id 
    AND a.booking_id = c.booking_id 
    AND b.id = c.booking_id

错误:

#1054 -“字段列表”中的未知列“chart_entery.booking_id”

标签: sqldatabase

解决方案


您正在为表设置别名,因此在列出列时需要使用别名。您还需要将连接条件从WHERE子句移动到ON相关的子句JOIN

CREATE VIEW reporting AS 
SELECT 
    c.booking_id, 
    c.activity_name, 
    b.ref_no 
FROM proof a 
JOIN tbl_booking b ON  a.booking_id = b.id 
JOIN chart_entery c ON a.booking_id = c.booking_id AND b.id = c.booking_id

推荐阅读