我需要幫助w/php查詢,並將開始解釋明顯,我在我的頭上與此。幫助php mysql查詢添加第三個表
該查詢可以工作(非常*),從2個表中隨機選擇具有特定條件的產品。我的問題是我不僅需要現場products.vendorid,但實際供應商名稱它位於另一個表,供應商。因此,products.vid是產品的供應商 - 我需要進入供應商表並查找與之匹配的字段vendor.company。
我不知道如何在這裏介紹這第三張表,主要是查找。我試圖保持在相同的記錄集中,並想知道子查詢是否適用於此處或其他內容? 查詢:
SELECT products.pid, products.vendorid, products.is_visible,
product_description.compare1, product_description.title
FROM products, product_description
WHERE products.pid >= (SELECT FLOOR(MAX(pid) * RAND()) FROM `products`)
and ((product_description.compare1 = 'Cohasset')
and (products.is_visible='Yes') and (products.pid = product_description.pid))
LIMIT 5
爲了澄清 - 我需要一個叫做「vendor.company」字段,表中的「供應商」,其中包含供應商ID,叫做「VID」與products.vendorid相匹配。
希望這是有道理的,我很感謝幫助。
*(不是100%:如果產生的隨機數大於總產品較少超過5個,但我能活瓦特/,就目前而言)
+1正確,很好的解釋。我只會將'WHERE'條件更改爲'JOIN's以加入表格。 – 2011-04-01 23:25:20
我一直都很喜歡加入我自己,但我必須誠實:我不確定實際的區別是什麼(任何人都知道,請加入!)。我假設mysql優化爲某種JOIN,但是如果我知道JOIN是什麼類型的話......在這種情況下,我選擇儘可能保持查詢結構,希望能夠讓OP理解起來簡單。 – 2011-04-01 23:40:54