好了,所以這裏是我的數據庫中提取SQL查詢匹配表(分配)
customers- ID, Fname, LName, Username, Password
Products - ProductsID, Name
Requests - requestid, productsid[fk for products table], cid[fk for customers table],
quantity, matchType
sellers - saleid, productsid[fk for products table], cid[fk for customers table], quantity
price.
因此,他們是我的FK表示外鍵的表...現在我遇到的問題是說,這是從提取物表中的值
customers=1,John,Smith,js123,123
customers=2,Joe,bloggs,jb555,abc
products=1,Sweets
products=2, chocolate
requests=1, 2, 1, 200, Exact
requests=2, 1, 1, 50, HighQuality
sellers =1,2,2,200,5.00
確定,所以到底是怎麼回事。這是我們的客戶2和2個產品(糖果和chcolates),請求表顯示..的RequestID [主鍵],產品ID,客戶ID誰已請求產品,以克爲單位的數量以及他們希望如何匹配顯示。 因此,如果我們採取第一個請求,它會讀取如下... REquestID 1 [pk],想要chcolates(2),想要choclate的用戶是約翰史密斯,他想要200克的價值,這是完全符合他的要求... 現在我們有一個賣家,即joe bloggs,他以200英鎊的價格銷售200克chcolates ... 現在我遇到的問題是如何運行與此賣家相匹配的查詢以適合客戶。即列出了基於客戶使用MatchType(預柵欄)賣家名稱這是我曾嘗試:
select c.Fname, c.Lname, p.Name FROM customers c, Products p, Requests, sellers
WHERE c.ID=sellers.cid AND p.ProductsID=sellers.productsid
這將列出所有賣家的名稱和產品,他們正在銷售的名稱。但是,我希望僅顯示那些在請求表中的單詞是EXACT的產品。只能匹配確切的數量。所以,我試過:
select c.Fname, c.Lname, p.Name FROM customers c, Products p, Requests, sellers
WHERE c.ID=sellers.cid AND p.ProductsID=sellers.productsid
AND Requests.productsid=sellers.productid AND Requests.matchType ='Exact'
我試過這個,這不正確輸出我想要的東西。我如何解決它我想我的輸出是:
joe,bloggs,choclates
所以這匹配requestid 1其中。然而我只是不能得到這個輸出可以有人pelase幫助我嗎?當然,通過與products.id匹配sellers.productsid將顯示名稱,然後通過匹配請求.productid與seller.productid WHERE requests.matchType ='確切'它應該工作嗎?但它不顯示我期望的輸出。
你給你想要的輸出。你得到的輸出是什麼? – 2013-02-11 22:36:29