[英]MySQL Query is returning additional results
我想写一个返回查询lastName
从customers
表, bidAmount
和bidTime
从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
具有customer.customerID
作为外键
据我所知,它们应该都正确连接。 还是我忽略了某些东西。
如评论中所述,您需要将表显式地连接在一起-目前,您的查询是隐式地笛卡尔式联接表。 尝试类似:
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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.