字段列表中的MySql查询列不明确

时间:2017-03-19 17:50:03

标签: mysql

我有OrdNo,OrdDate,OrdState,CustNo和其他列的OrderTbl表以及带有CustNo,CustFirstName,CustState和其他列的Customer表。我需要选择所有这些,但是当我在编写查询时

  select OrdNo, OrdDate,  OrdState, CustFirstName, CustState, CustNo from OrderTbl,Customer

MySQl给了我一个错误,而不是来自CustNo列是不明确的,我理解它是因为两个表中的CustNo ..但我能做什么呢?

1 个答案:

答案 0 :(得分:0)

您正在使用两个表,其中两个都有一个名为CustNo的列。 MySQL应该如何知道你想要的列?

此外,您还需要正确加入表格:

select o.OrdNo, o.OrdDate,  o.OrdState, c.CustFirstName, c.CustState, c.CustNo 
from 
     OrderTbl o
join Customer c
on 
     o.CustNo = c.CustNo

您需要做的是使用表别名或明确地寻址您想要阅读的列。

-- alternative to the query above without aliases
select OrderTbl.OrdNo, OrderTbl.OrdDate,  OrderTbl.OrdState, Customer.CustFirstName, Customer.CustState, Customer.CustNo 
from 
     OrderTbl
join Customer
on 
     OrderTbl.CustNo = Customer.CustNo