• 11-05-2021, 15:57:07
    #1
    Merhaba,
    Kategoriye göre sipariş edilen , toplam ürün sayılarını kategori ile birlikte listelemek istiyorum fakat kafam baya bir karıştı işin içinden çıkamadım.
    Örneğin, X kategorisinde tablom 20 adet ürün sipariş edilmiş, Y kategorisinde 10 adet gibi.

    Ben şöyle bir kod yazdım fakat devamını getiremedim.
    Oc_order ve oc_order_product tablosunda kategori bilgisi olmadığından aradaki bağlantıyı kuramadım,
    oc_product_to_category tablosunu kullanmam gerekiyor fakar arasındaki ilişkiyi ayarlıyamadım.

    Yardımcı olanlara teşekkürler

    Edit kod güncellendi.

    SELECT
            (SELECT SUM(op.quantity) AS total_quantity FROM oc_order_product op LEFT JOIN oc_order o ON (op.order_id = o.order_id) WHERE op.product_id = p.product_id ) AS total_sales,
            c.*, cd.* FROM oc_category c LEFT JOIN oc_category_description cd ON (c.category_id = cd.category_id) WHERE  c.parent_id = '0' AND c.status = '1' ORDER BY total_sales DESC,c.sort_order, LCASE(cd.name)
    Tablo yapısı basitce aşağıdaki gibidir.
    oc_Order tablosu
    • order_id
    • product_id
    oc_Order_product tablosu (Siparişteki sipariş edilen ürünlerin bilgisini verir)
    • order_id
    • product_id
    • quantity
    oc_Product tablosu
    • product_id
    • name
    oc_Category tablosu
    • category_id
    • parent_id
    • status
    • sort_order
    oc_Category_description tablosu
    • category_id
    • name
    oc_Product_to_category tablosu ( Ürün ve kategori lişkisinin olduğu tablodur)
    • product_id
    • category_id
  • 12-05-2021, 17:31:13
    #2
    select coalesce(c.category_name, 'other') cat_name , sum(op.quantity) total_order_qty
    from oc_order_product op
    left join oc_product_to_category pc on op.product_id = pc.product_id
    left join oc_category c on pc.category_id = c.category_id
    group by c.category_name
  • 12-05-2021, 20:51:47
    #3
    suleymanyaldiz adlı üyeden alıntı: mesajı görüntüle
    select coalesce(c.category_name, 'other') cat_name , sum(op.quantity) total_order_qty
    from oc_order_product op
    left join oc_product_to_category pc on op.product_id = pc.product_id
    left join oc_category c on pc.category_id = c.category_id
    group by c.category_name
    Teşekkürler hocam