MySQL Query ile Yardım

0 Cevap php

Birisi ile sorun yaşıyorum bir MySQL (v5.0.51) sorgusu ile bana yardımcı olabilir merak ediyorum. Böyle bir tablo var:

category_id  | category_text  | subcategory
25           | Motor Controls | NULL
26           | Contactors     | 25
27           | Overloads      | 25
28           | Motors         | NULL
29           | Accessories    | 28

Alt kategori sütununda NULL ile her girdi subcategory alt kategori ait olduğu üst düzey kategori söyleyen bir üst düzey kategori ve değerini temsil eder.

For example above: Contactors and Overloads belongs to Motor Control because their respective subcategory has a value of 25 which is the category_id (25) of Motor Controls

Şimdi ürünlerini depolamak için bir ÜRÜNLERİ tabloda bu değerleri kullanabilirsiniz ama burada ben sadece alt kategori category_id saklayın.

product_id | product_item | product_supplier_id | product_description   | product_category_id
24         | Product A    | 39                  | Product A description | 27 --category_id of subcategory (ie.Overloads)
25         | Product B    | 39                  | Product B description | 26 --(Contactors)

Ben yaşıyorum sorun, ben (diğerleri) ÜRÜNLER tablosunu sorgulamak ve kategori ve alt İKİ getirebilir one SQL sorgusu ihtiyaç vardır. Ben bir ya da diğer ancak her ikisi için bunu yapabilirsiniz. Ben, UNION denedim vb KATILDI ama sadece almak için görünmüyor olabilir var. Bu şimdiye kadar sadece alt kategori kadar getiriyor ne var.

SELECT p.*, c.company_name, pc.category_text AS subcategory 
FROM products p, company c, product_categories pc 
WHERE p.product_supplier_id = c.company_id 
AND p.product_category_id = pc.category_id

Bu aşağıda sonuç üreten sorgu sonuçları.

product_id | product_item | product_supplier_id | product_description   | product_category_id | company_name       | subcategory
24         | Product A    | 39                  | Product A description | 27                  | Product A Supplier | Overloads
25         | Product B    | 39                  | Product B description | 26                  | Product B Supplier | Contactors

Temelde ne istiyorum bu yüzden bu gibi görünüyor her alt kategori için doğru üst düzey kategori içeren bir sütun eklemek için

24 | Product A | 39 | Product A description | 27 | Product A Supplier | **Motor Controls** | Overloads

Ben tablo oluşturulur yolu ile bunu yapabilirsiniz ya da değiştirmek gerekiyor?

Üzgünüm daha kolay anlaşılması için bazı güzel görüntüler vardı ama 1 bir "itibar" ile, bunu yayınlayın edemedim.

Herhangi bir yardım mutluluk duyacağız. Ben MySQL veritabanına erişmek için PHP sorgu kullanıyorum unutmayın.

Teşekkürler

0 Cevap