【问题标题】:Issues creating view with 2 joins使用 2 个连接创建视图时出现问题
【发布时间】:2019-08-22 18:18:34
【问题描述】:

我正在尝试创建一个包含 2 个连接的视图,总共使用 3 个表。我不断收到:#1064 告诉我我有语法错误。但是,我一直在遵循不同的指南和解决方案所说的去做。显然,我错过了一些东西。

我已经研究过使用连接和 3 个表为 MySQL 创建视图,连接的正确语法。

create view vw_interns_complete_training AS
select i.first_name, i.last_name, i.intern_id, inT.training_ID, 
t.training, t.completed
from intern as i
inner join intern_training as inT on i.intern_ID = inT.intern_ID 
inner join training as t On inT.training_ID = t.training_ID
where completed = 1;

预期的输出是一个成功创建的连接。结果是: "#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 i.intern_ID = inT.intern_ID 上的 'inT 附近使用的正确语法 内连接训练为 t On inT.training_ID' at line 4"

【问题讨论】:

    标签: mysql join inner-join mysql-error-1064


    【解决方案1】:

    您应该使用 INT 作为表名别名 INT (inT) 是一个保留字
    用 inT 更好地改变例如:it

    create view vw_interns_complete_training AS
    select i.first_name
      , i.last_name
      , i.intern_id
      , it.training_ID
      , t.training
      , t.completed
    from intern as i
    inner join intern_training as it on i.intern_ID = it.intern_ID 
    inner join training as t On it.training_ID = t.training_ID
    where t.completed = 1;
    

    【讨论】:

      猜你喜欢
      • 2020-09-07
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      相关资源
      最近更新 更多