需要帮忙! with - SQL Plus选择多个列

时间:2013-04-06 00:47:29

标签: sql

您好我正在使用sql plus,我需要从4个表中选择5列并显示结果。这是我使用的代码和我得到的错误。

SELECT CustomerID, OrderID, AircraftID, Quantity, TotalCost 
FROM Customer_Table, Order_Table, Aircraft_Table, Orderline;
  

第1行的错误:ORA-00918:列模糊定义

获取这些列并从多个表中显示它们的代码是什么。请帮助解决这个问题。

3 个答案:

答案 0 :(得分:1)

原因是您尝试执行连接两个或多个表的SQL语句,其中两个表中都存在具有相同名称的列。

使用此SQL查询

SELECT suppliers.supplier_id, quantity
FROM suppliers, orders
WHERE suppliers.supplier_id = orders.supplier_id;

由于供应商和订单表中都存在supplier_id列,因此您需要在列前添加表名,如下所示:

此外,您需要在它们之间链接您的表。如果我采取上面的例子你应该做这样的事情

WHERE suppliers.supplier_id = orders.supplier_id;

表示您将表suppliersorders列<{1}}的表格supplier_id相关联

本文可以帮助您了解您的问题: http://www.sitepoint.com/understanding-sql-joins-mysql-database/

答案 1 :(得分:0)

我不熟悉SQL,但在大多数SQL变体中,您应该指定一个表名,然后指定一个列名。例如SELECT Customer_Table.CustomerID ......这将消除在结果投影中应使用哪一列的歧义。

答案 2 :(得分:0)

错误表示这些表中存在一个或多个具有相同名称的列。这就是为什么它不知道从哪个表中选择哪一列。如果您可以指定表名,然后指定列,我认为这应该消失。