Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ขอคำปรึกษาเรื่อง count product ตาม Category หน่อยครับ



 

ขอคำปรึกษาเรื่อง count product ตาม Category หน่อยครับ

 



Topic : 114053



โพสกระทู้ ( 283 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



[CATEGORY]
category_id
title
lft
rght
parent
level


[PRODUCT]
product_id
category_id
title



ตัวอย่าง:
Electronics (15)
Televisions (8)
LCD (3)
PLASMA (5)
Players (7)
Mp3 players (2)
CD players (2)
DVD players (3)
Furniture (0)


Code (PHP)
select parent.title, parent.level, count(product.title) as sum_products  
from category as node, category as parent, product  
where node.lft between parent.lft and parent.rght   
and node.category_id = product.category_id  
group by parent.title   
order by node.lft



จาก code ดังกล่าว เมื่อเวลาเรา Query แล้ว ถ้า node.category_id = product.category_id จะปรากากฏค่า จำนวนที่ count ออกมา

แต่จาก code ที่ query จะ Query ออกมาได้เฉพาะในส่วนของ หมวดหมู่ที่มีสินค้า ถ้าหมวดไหนไม่มีสินค้า จะไม่แสดงหมวเหมู่นั้นครับ

ตอนนี้ที่ลอง query จะได้ดังนี้ครับ

Electronics (15)
Televisions (8)
LCD (3)
PLASMA (5)
Players (7)
Mp3 players (2)
CD players (2)
DVD players (3)


ในส่วน Furniture (0) จะไม่แสดงหมวดหมู่นี้ครับ เนื่องจากในตาราง product ไม่มีสินค้าในหมวดหมู่นี้อยู่ อยากให้ Query และมีส่วนนี้มาโชว์ด้วยครับ



Tag : PHP









ประวัติการแก้ไข
2015-01-28 15:39:57
2015-01-29 11:44:50
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-01-28 14:58:46 By : asustak View : 665 Reply : 4
 

 

No. 1

Guest


ลองใช้คำสั่งด้านล่างดูครับ หลักๆคือต้องใช้ LEFT JOIN ครับ คือดึงข้อมูลจากตารางด้านซ้ายมาคำนวน


Code (SQL)
SELECT product.title, COUNT(node.title) AS sum_products  
FROM product LEFT JOIN category AS node ON node.category_id = product.category_id 
GROUP BY parent.title







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-28 15:44:29 By : thaidevelopment.net
 


 

No. 2



โพสกระทู้ ( 217 )
บทความ ( 0 )



สถานะออฟไลน์


Code (SQL)
select cg.title, count(pd.title) as sum_products 
from category as cg
left join product pd on cg.category_id = pd.category_id
group by cg.title  
order by cg.title

อันนี้เป็นการ query โดยการยัด category เป็นหลักครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-28 16:05:56 By : windersun
 

 

No. 3



โพสกระทู้ ( 283 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 2 เขียนโดย : windersun เมื่อวันที่ 2015-01-28 16:05:56
รายละเอียดของการตอบ ::
select cg.title, count(pd.title) as sum_products
from category as cg
left join product pd on cg.category_id = pd.category_id
group by cg.title
order by cg.title


ลอง Query ตามนี้แล้ว

Electronics = 0
Furniture = 0
Players = 0
Televisions = 0

ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-28 16:15:53 By : asustak
 


 

No. 4



โพสกระทู้ ( 283 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอนนี้แก้ไขได้เรียบร้อยแล้วครับ


ประวัติการแก้ไข
2015-01-29 11:44:09
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-28 17:20:34 By : asustak
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอคำปรึกษาเรื่อง count product ตาม Category หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่