当前位置:  开发笔记 > 数据库 > 正文

嵌套连接隐藏表名

如何解决《嵌套连接隐藏表名》经验,为你挑选了1个好方法。

我有三个表:供应商,零件和类型.我需要加入所有这些,同时在三个表中区分具有相同名称的列(例如,"id").我想成功运行此查询:

CREATE VIEW Everything AS
SELECT Suppliers.name as supplier, 
       Parts.id, 
       Parts.description, 
       Types.typedesc as type
FROM Suppliers JOIN (Parts JOIN Types ON Parts.type_id = Types.id)
ON Suppliers.id = Parts.supplier_id;

我的DBMS(sqlite)抱怨"没有这样的列(Parts.id)".我想在JOIN完成后会忘记表名,但是我怎样才能引用id属于表的列Parts呢?



1> OMG Ponies..:

您的ANSI-92 JOIN语法不正确 - 使用:

CREATE VIEW Everything AS
  SELECT Suppliers.name as supplier, 
         Parts.id, 
         Parts.description, 
         Types.typedesc as type
    FROM Suppliers 
    JOIN Parts ON Suppliers.id = Parts.supplier_id
    JOIN Types ON Parts.type_id = Types.id

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有