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,037

HOME > PHP > PHP Forum > แนะนำ Mysql หน่อยครับ อยากหาจำนวน ของ Motorcycle ของแต่ล่ะ Todohukencode อ่ะครับ ถ้ามีค่าว่าง ให้เป็น 0 ครับ



 

แนะนำ Mysql หน่อยครับ อยากหาจำนวน ของ Motorcycle ของแต่ล่ะ Todohukencode อ่ะครับ ถ้ามีค่าว่าง ให้เป็น 0 ครับ

 



Topic : 129122



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



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




โจทย์ครับ : The number of motorcycles following each matched todouhuken (if it is null, it will be showed 0).

Query ของผมครับ
select 	t.todouhuken_code,
		t.todouhuken_name,
        t.todouhuken_area_code2,
        area_name,
		count(case when motorcycle_no is null then 0 else motorcycle_no end) as cnt

from 	mst_area a left join 
		mst_todouhuken t 
        on (a.area_code2 = t.todouhuken_area_code2) and (a.area_code = t.todouhuken_area_code)  left join
        search_motorcycle s 
        on t.todouhuken_code = s.dealer_todouhuken_code left join
        mst_model_v2 v2
        on (s.motorcycle_model_code = v2.model_code) and (s.motorcycle_maker_code = v2.model_maker_code)
        
where   motorcycle_jyoukyo in (1,5,6) and 
        model_maker_code = 4 and 
        dealer_todouhuken_code > 0 

group by todouhuken_code,todouhuken_area_code2,todouhuken_name,todouhuken_name,area_name asc
order by todouhuken_area_code2,todouhuken_code asc



ผลลัพท์ครับ
ผลลัพ

รบกวนด้วยนะครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-10-06 09:28:14 By : sangwondee View : 595 Reply : 4
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


count(case when motorcycle_no is null then 0 else motorcycle_no end) as cnt

ถ้าต้องการแค่ count
count(motorcycle) แค่นี้พอ เพราะไม่ว่า motorcycle จะมีค่าเท่าไหร่ จะนับเป็น 1 ถ้าไม่ใช่ null

แต่ถ้าต้องการ บวก motorcycle ทั้งหมดตามค่าของ motorcycle
sum(coalesce(motorcycle_no,0)) as cnt ถ้า motorcycle มีค่าเป็น null จะเปลี่ยนเป็น 0 ให้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-06 09:53:51 By : Chaidhanan
 


 

No. 2



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



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


ได้ค่าเหมือนเดิม ครับ

ผลได้ครับ

ผลที่อยากให้ได้มันเป็น 0 ครับ
หรือผมเชื่อมตารางผิดหรือป่่าวครับ


ประวัติการแก้ไข
2017-10-06 10:20:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-06 10:08:26 By : sangwondee
 

 

No. 3



โพสกระทู้ ( 1,521 )
บทความ ( 2 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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

Code (SQL)
SUM(IF(motorcycle_no = null,0, 1)) as cnt

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-06 11:52:26 By : Krungsri
 


 

No. 4



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



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


ยังเหมือนเดิมเลยครับ

แต่ได้คำแนะนำเพิ่มเติมครับ

1. Your result don't have cnt = 0 because of your query can't count when todouhuken_code has cnt = 0
2. With motorcycle_maker_code = 4, only have todouhuken_code=1,3,4,....
Using this query to check:
----------------
SELECT
*
FROM
webikept.search_motorcycle
WHERE
motorcycle_maker_code = 4
GROUP BY dealer_todouhuken_code;
-----------------
So if you use t.todouhuken_code = s.dealer_todouhuken_code
AND model_maker_code = 4 in WHERE, it will make data lost
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-06 12:18:02 By : sangwondee
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : แนะนำ Mysql หน่อยครับ อยากหาจำนวน ของ Motorcycle ของแต่ล่ะ Todohukencode อ่ะครับ ถ้ามีค่าว่าง ให้เป็น 0 ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่