 |
ขอความช่วยเหลือ เรื่อง sql ทีครับ เชื่อม 3 ตาราง นับจำนวน แล้วมันไม่ตรงกันเมื่อเชื่อม 3 ตาราง |
|
 |
|
|
 |
 |
|
ขอความช่วยเหลือ เรื่อง sql ทีครับ เชื่อม 3 ตาราง นับจำนวน แล้วมันไม่ตรงกันเมื่อเชื่อม 3 ตาราง

ตรง number มันไม่ตรงตามจริงครับ Y_Y ต้องแก้ยังไงหรอครับ _/|\_
Code (SQL)
SELECT tbsarary.Id_Pla, tbsarary.date, tbsarary.playersarary, tbplayer.Id_Pla, tbplayer.Name_Pla, tbplayer.Position_Pla, tbplayer.Lavel, tbpractice_player.Date_Pty, tbpractice_player.Id_Pla, COUNT( tbpractice_player.Id_Pla ) AS number
FROM tbpractice_player
LEFT JOIN tbplayer ON tbpractice_player.Id_Pla = tbplayer.Id_Pla
LEFT JOIN tbsarary ON tbplayer.Id_Pla = tbsarary.Id_Pla
WHERE DATE_FORMAT( tbpractice_player.Date_Pty, '%Y-%m' ) = '2014-01'
GROUP BY tbplayer.Id_Pla ASC
ที่ถูกมันเป็นอันนี้ครับ

Tag : PHP, MySQL
|
|
 |
 |
 |
 |
Date :
2014-02-14 18:13:31 |
By :
kanokpong |
View :
1091 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองใช้ Subquery ดูคับ
Code
SELECT tbsarary.Id_Pla, tbsarary.date, tbsarary.playersarary, tbplayer.Id_Pla, tbplayer.Name_Pla, tbplayer.Position_Pla, tbplayer.Lavel, tbpractice_player.Date_Pty, tbpractice_player.Id_Pla, (SELECT COUNT( Id_Pla ) FROM tbpractice_player WHERE WHERE DATE_FORMAT( tbpractice_player.Date_Pty, '%Y-%m' ) = '2014-01') AS number
FROM tbpractice_player
LEFT JOIN tbplayer ON tbpractice_player.Id_Pla = tbplayer.Id_Pla
LEFT JOIN tbsarary ON tbplayer.Id_Pla = tbsarary.Id_Pla
WHERE DATE_FORMAT( tbpractice_player.Date_Pty, '%Y-%m' ) = '2014-01'
GROUP BY tbplayer.Id_Pla ASC
|
 |
 |
 |
 |
Date :
2014-02-14 22:09:05 |
By :
tomrambo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
SELECT tbsarary.Id_Pla, tbsarary.date, tbsarary.playersarary, tbplayer.Id_Pla, tbplayer.Name_Pla, tbplayer.Position_Pla, tbplayer.Lavel, tbpractice_player.Date_Pty, tbpractice_player.Id_Pla
FROM tbpractice_player,tbplayer ,tbsarary
where
tbpractice_player.Id_Pla = tbplayer.Id_Pla AND
tbplayer.Id_Pla = tbsarary.Id_Pla AND tbpractice_player.Id_Pla =
(SELECT tbpractice_player.Id_Pla ,COUNT( tbpractice_player.Id_Pla )
FROM tbpractice_player
WHERE DATE_FORMAT( tbpractice_player.Date_Pty, '%Y-%m' ) = '2014-01'
group by tbpractice_player.Id_Pla )
ผลลัพธ์ ใน sub มัน ออก 2 record แต่ where มันแค่ คอลัมเดว เลย error ควรแก้ยังไงครับ
|
ประวัติการแก้ไข 2014-02-15 15:16:43
 |
 |
 |
 |
Date :
2014-02-15 15:15:28 |
By :
kanokpong |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|