我有OrdNo,OrdDate,OrdState,CustNo和其他列的OrderTbl表以及带有CustNo,CustFirstName,CustState和其他列的Customer表。我需要选择所有这些,但是当我在编写查询时
select OrdNo, OrdDate, OrdState, CustFirstName, CustState, CustNo from OrderTbl,Customer
MySQl给了我一个错误,而不是来自CustNo列是不明确的,我理解它是因为两个表中的CustNo ..但我能做什么呢?
答案 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