私は戻っていることをクエリを記述しようとしている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'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加