我目前正在研究專有的購物車系統,並且遇到了一些使用正確的價格獲取產品的問題。從SQL查詢中獲取產品
基本上我的表結構如下:
產品表:(僅適用列代表)
----------------------------------------------------
productid | product | descr | disporder| list_price|
----------------------------------------------------
1 name desc 1 0.00
2 name desc 4 0.00
3 name desc 2 2.45
價格表:
----------------------------------------
priceid | productid | price | variantid|
----------------------------------------
1 1 13.91 1
2 2 54.25 4
3 2 47.23 2
變種表:
-------------------------------
variantid | productid | active|
-------------------------------
1 1 Y
2 2 Y
3 2 Y
因此,每個產品都可以具有 - 並且在大多數情況下具有 - 多種變體。我現在的SQL查詢我已成功地創建迄今爲:
SELECT
products.productid, product, descr, p.price, i.image_path
FROM
products
LEFT JOIN
pricing AS p
ON
p.variantid = (SELECT variantid FROM variants
WHERE productid = products.productid LIMIT 1)
LEFT JOIN
images_T AS i
ON
i.id = products.productid
GROUP BY
products.productid
ORDER BY
products.disporder
然而,當一個產品不有我的變種出現問題。如果產品沒有與之相關的變體,價格將在products
表格的list_price
列中。如何執行檢查以確定產品是否確實有變體。如果不是,它應該有效地繞過variants
表,並從表中獲得products
表中的定價。
爲此歡呼:) – 2010-11-26 01:12:39