 |
รบกวนช่วยเขียนโค๊ด select ทีครับคิดไม่ออกเลย ใกล้ส่งโปรเจคจบแล้วด้วย |
|
 |
|
|
 |
 |
|
รูปภาพที่เอามาแสดง ทำได้อย่างไรครับ ก็เอาคำสั่งคิวรี่ที่ทำนั้นมาใช้ ทำเป็น temp table
|
 |
 |
 |
 |
Date :
2015-09-14 11:25:54 |
By :
NewbiePHP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตัวอย่าง
select id
, sum(if(id_type=1, total, 0)) as m01
, sum(if(id_type=2, total, 0)) as m02
, sum(if(id_type=3, total, 0)) as m03
from table group by id
จากโค๊ด ตัวอย่าง ข้างบน ให้ คิวรี่หาสีแดง แล้วมาต่อ string ให้ได้แบบเดียวกัน
Code (PHP)
$rs=$db->query("select id_type, code_type from jobtype");
$qr = '';
while( $ro = $rs->fetch_assoc()){
$qr .= ($qr? ',' : '') . "sum(if(id_type=$ro[id_type], total, 0)) as $ro[code_type] ";
}
แล้วนำไปเชื่อมกับ statement ที่คุณทำ ลองดูครับ
Code (PHP)
$sql = "select name, $qr from (
SELECT u.id_user, u.name, jd.id_type, TIMEDIFF( jd.timeend, jd.timestart ) AS total
FROM jobdata jd
LEFT JOIN user u ON u.id_user = jd.id_user
) as tmp
group by id_user ";
ปล. ตัวอย่างไม่ได้คำนึงถึง ค่าของเวลานะครับ ซึ่งมันไม่ถูก ถ้ายังไม่ได้ ว่างๆ จะมาช่วยคิดให้ใหม่
ปล. อีกที ลบ sql ออกไป นะครับ เปลืองเนื้อที่
|
ประวัติการแก้ไข 2015-09-14 14:34:35 2015-09-14 14:35:23 2015-09-14 14:37:39 2015-09-14 14:41:04
 |
 |
 |
 |
Date :
2015-09-14 14:33:42 |
By :
NewbiePHP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|