我有2個表格,購物車和產品。用戶可以從產品表中選擇產品,然後將其詳細信息添加到購物車表中。我想結合這兩個表的值,並給出了結果連接2個表格和顯示數據的值
prodsize的列表
id catid catname productid prodsize cost prodname
1 2 CN1 13 small 130 P1
2 2 CN1 13 large 200 P1
3 2 CN1 14 small 50 P2
4 2 CN1 14 medium 90 P2
5 2 CN1 14 large 110 P2
6 2 CN1 12 small 70 P3
7 2 CN1 12 medium 110 P3
8 2 CN1 13 medium 200 P1
車
id catid catname userid productid prodname prodsize prodcost quantity status
1 2 CN1 1 13 P1 small 130 2 add_to_cart
1 2 CN1 1 13 P1 large 200 2 order_placed
當我運行從兩個表中,但在這裏下面的查詢組合值我想,只有那些產品的數量應該得到顯示狀態爲add_to_cart,如果狀態order_placed那麼數量應該是0,誰能告訴PLZ我如何修改下面的代碼,從而獲得所需結果
$sql= "SELECT p.catid, p.catname, p.productid, p.prodimg, GROUP_CONCAT(p.prodsize ORDER BY p.id ASC) as size, GROUP_CONCAT(p.cost ORDER BY p.id ASC) as cost, p.prodname,
GROUP_CONCAT(c.prodsize,'-',c.quantity) as cart_details, GROUP_CONCAT(DISTINCT(c.userid)) as user_id
FROM productsize p
LEFT JOIN cart c ON(c.productid = p.productid AND c.userid = '$userid' AND p.prodsize = c.prodsize)
WHERE p.catid ='$catid'
GROUP BY p.productid
ORDER BY user_id DESC, p.productid ASC";
爲你的查詢添加一個where子句。 –
@Gordon Linoff我已經試過了,但它不是幹活 – pp1989
讀一點點接近,我認爲你需要一個CASE表達式來處理一些有條件的邏輯IB您的輸出。 – shawnt00