我尝试编写一个从lastName
表,customers
和bidAmount
从bidTime
表和{{1}返回bids
的查询在某一天从productName
表格开始。出价表同时将product
和custom.customerID
作为外键,以便它可以访问相关数据。我写的查询是
product.productID
但出于某种原因,它会在数据库中的每个客户的时间范围内返回每个出价的副本,而不仅仅是出价的客户。
我希望这一切都有意义,如果需要,我可以更详细地解释。
有问题的表格是
SELECT lastName, bidAmount, bidTime, productName
FROM product, customer, bids
WHERE bidTime BETWEEN '06/19/2014 12:00:01 AM' AND '06/19/2014 11:59:59 PM';
customer
bids
product
有bids
和customer.customerID
作为外键
product.productID
将product
作为外键
据我所知,它应该都适当连接。或者我忽略了什么。
答案 0 :(得分:0)
正如评论中所提到的,您需要明确地将表连接在一起 - 目前,您的查询是隐式的笛卡尔连接表。尝试类似:
SELECT c.lastName, b.bidAmount, b.bidTime, p.productName
FROM bids b
join product p on b.product_id = p.product_id
join customer c on b.customer_id = c.customer_id
WHERE bidTime BETWEEN '06/19/2014 12:00:01 AM' AND '06/19/2014 11:59:59 PM'