我想獲得一個查詢,以返回我的精選項目表中的產品的所有相關記錄。所有正在爲簡單的MYSQL查詢工作,但我想獲得每個產品兩個拇指圖像存儲在另一個表(product_image),但有一個捕獲。在此「product_image」表中,不是每個產品(product_id)都會有一條記錄,因爲它僅在上傳圖像時填充,而某些產品可能有多個記錄(存儲圖像),我只希望爲每個產品ID返回一條記錄。因此,產品表中的產品記錄與product_image表有0到很多的關係。MYSQL - 加入或子查詢問題
我有一個工作的基本SQL語句的基本沒有返回的圖像,我可以編碼一個查詢,只返回在產品圖像表中有記錄的產品,但我需要查詢返回外部的所有行查詢,然後1個thumb_img匹配來自圖像表的產品ID,如果沒有圖像,它可以返回一個Null值。
這可能嗎?以下是我的最新嘗試,但這只是返回第一個product_ID的匹配縮略圖,併爲其他3個(在此情況下由於限制在最後)記錄重複此操作。我需要匹配的每個記錄的拇指,而不是匹配的記錄在其餘的記錄之間重複的第一條記錄。如果沒有該產品ID的記錄,則返回null。
SELECT * FROM `products`, `featured_products`, `shop`, (SELECT thumbSrc
FROM product_image
WHERE products.productId = product_image.productID
ORDER BY product_image.position ASC
LIMIT 1) image
where shop.shopId = products.shopId AND featured_products.productId = products.productId AND visible = '1' LIMIT 4
在此先感謝您的任何幫助/反饋。是否有可能這樣做,因爲我想保持我的數據庫儘可能標準化,而不是導致在產品表中存儲拇指字段。
瞭解外部連接。並將product_Image加入產品表,而不是您的方法。我最喜歡的解釋這些連接如何工作的網站之一是http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/。 – xQbert
謝謝,我會讀入外部連接,非常感謝 – Chicker