【发布时间】:2010-12-14 01:06:54
【问题描述】:
我有一个使用 create 和 insert into 语句填充了一些数据的数据库。我写了一个有 WHERE 子句的 SELECT 语句。我遇到的问题是,当我运行该语句时,我发现某些数据由于我不明白的原因而重复。
这是我试图运行的语句。
SELECT Customer_Contact, Customer.CustomerID, Ord.OrderID,ItemOrdered.BeltLength,ItemOrdered.Colour,
ItemOrdered.Quantity,Design.DesignStyle
FROM Customer, Ord, ItemOrdered,Design
WHERE Customer.CustomerID = Ord.CustomerID
and Customer.Customer_Contact = 'John Daley'
and Design.DesignStyle ='Flat-Engraved';
以下链接显示了我用于创建上述语句的所有相关代码。 [数据库代码][1]
我已经按照以下格式进行了布局:
CREATE STATEMENT
INSERT INTO STATEMENT
扩展的 Where 子句如下所示:
SELECT Customer_Contact, Customer.CustomerID, Ord.OrderID,ItemOrdered.BeltLength,ItemOrdered.Colour,
ItemOrdered.Quantity,Design.DesignStyle
FROM Customer, Ord, ItemOrdered,Design
WHERE Customer.CustomerID = Ord.CustomerID and
ItemOrdered.OrderID = Ord.OrderID
and Customer.Customer_Contact = 'John Daley' and
Design.DesignStyle ='Flat-Engraved';
这可行,但是当我运行该语句时,它会显示 3 条完全相同的记录。
SELECT Customer.Customer_Contact,
Customer.CustomerID,
Ord.OrderID,
ItemOrdered.BeltLength,
ItemOrdered.Colour,
ItemOrdered.Quantity,
Design.DesignStyle
FROM Customer,
Ord,
ItemOrdered,
BeltID
Design
WHERE Customer.CustomerID = Ord.CustomerID
AND Ord.OrderID = ItemOrdered.OrderID
AND Customer.Customer_Contact = 'John Daley'
AND Design.DesignStyle ='Flat-Engraved'
AND BeltID.DesignID = Design.DesignID;
上面的语句给了我一个无效的标识符错误,我似乎不明白为什么?
【问题讨论】: