[英]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.