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 > ทำยังไงดีคับ ผมใช้คำสั่งนี้หาผลรวมของฟิวส์แล้ว มันดันออกมาเหมือนกันทุกอันเช่น



 

ทำยังไงดีคับ ผมใช้คำสั่งนี้หาผลรวมของฟิวส์แล้ว มันดันออกมาเหมือนกันทุกอันเช่น

 



Topic : 027677



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



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




ผมใช้คำสั่งนี้หาผลรวมของฟิวส์แล้ว มันดันออกมาเหมือนกันทุกอันเช่น

$sql="SELECT SUM(field) AS sunField FROM table";
ผลลัพธ์
นาย เอ จ่ายเงินไป 400 บาท
นาย บี จ่ายเงินไป 400 บาท

(ทั้งสองคนนี้คนละ id กันคับ เช่น นายเอ ฐานข้อมูลจะเป็นดังนี้ ตาราง paydown)

id cost
1 200 ----->ของนาย เอ
1 100 ----->ของนาย เอ
2 400 ----->ของนาย บี

ซึ่งตารางอันนี้จะเชื่อมมากับอีกตารางหนึ่งก็คือ ชื่อ user คือ ตาราง member

id name
1 เอ
2 บี

สรุปแล้ว
-ผมอยากได้ที่เป็นแบบนี้คับ

นาย เอ จ่ายเงินไป 300 บาท
นาย บี จ่ายเงินไป 400 บาท


อยากให้ผลรวมมันแยกตาม id คับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-05-25 14:53:46 By : backship View : 1912 Reply : 37
 

 

No. 1



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

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

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


Code
SELECT SUM(cost) as sum_cost, id, name FROM paydown a
LEFT JOIN member b ON a.id = b.id
GROUP BY a.id

ประมาณนี้น่าจะใช้ได้นะคับ






Date : 2009-05-25 15:34:18 By : nut_t02
 


 

No. 2



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



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


SELECT SUM(cost) as sum_cost, id, name FROM paydown a
LEFT JOIN member b ON a.id = b.id
GROUP BY a.id

a b นี้คืออะไรเหรอคับ ของตาราง member กับ paydown อ่ะคับ
Date : 2009-05-25 15:48:23 By : backship
 

 

No. 3



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



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


มันขึ้น error แบบนี้อ่ะคับ
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\project\admin\paydown.php on line 20

โค้ดคับ
<?php
include"config.inc.php";

$sql="SELECT  * FROM member,transac,tb_room,paydown WHERE member.uID=transac.uID AND transac.uID=paydown.uID AND tb_room.room_no=transac.room_id  ";
mysql_query("set names tis620");
$result=mysql_query($sql);
$row=mysql_fetch_array($result);

$sql2="SELECT SUM(paydown) AS paysum, uID FROM paydown LEFT JOIN transac ON paydown.uID = transac.uID GROUP BY paydown.uID ";
$result2=mysql_query($sql2);
$row2=mysql_fetch_array($result2);

while ( $row= mysql_fetch_array ( $result))
{
echo "<br>ห้อง :".  ($row['uUSER']) ;
echo "   ชื่อ :". ($row['uNAME']) ;
echo  "   ราคาห้อง :".number_format($row['cost'])."บาท" ."  ราคาดาวน์ :".number_format($row['cost']*0.1)."บาท"; 
echo"    <br>ชำระเงินไปแล้ว :".number_format($row2[paysum])."บาท";
}
?>

Date : 2009-05-25 16:06:19 By : backship
 


 

No. 4



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



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


ช่วยทีคับ งงมา 3 วันแล้ว
Date : 2009-05-25 16:36:36 By : backship
 


 

No. 5



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

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

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


a, b คือ ชื่อ alias ของ paydown และ member ตามลำดับคับ
ช่วยให้เราไม่ต้องเขียนชื่อตารางยาวๆ ได้

ส่วน sql คงจะ error คับให้จำไว้ว่า ถ้ามี error เกี่ยวกับ mysql เช่นกรณีนี้
สิ่งแรกที่ ต้อง ทำเลยคือ echo sql ออกมาแล้วเอาไปลอง รันดูที่ phpmyadmin ครับ
เพื่อที่จะได้ error ที่แท้จริง

sql นี้ควรแก้เป็น
Code
SELECT SUM(paydown) AS paysum, b.uID
FROM paydown a
LEFT JOIN transac b ON a.uID = b.uID
GROUP BY a.uID

คือผมเดาเอาว่า uID ตรง field list คงจะ ambiguous
Date : 2009-05-25 16:39:40 By : nut_t02
 


 

No. 6



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



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


echo มาแล้วได้ค่าเป็นแบบนี้คับ สงสัยคงจะไม่ได้แน่เลย ฮือๆๆ

SELECT SUM(payvalue) AS paysum, b.uID FROM paydown a LEFT JOIN transac b ON a.uID = b.uID GROUP BY a.uID
Date : 2009-05-25 17:01:11 By : backship
 


 

No. 7



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

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

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


กำ
echo แล้วก็เอาไป run ที่ phpmyadmin ด้วยดิคับ
Date : 2009-05-25 17:03:34 By : nut_t02
 


 

No. 8



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



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


รันยังไงอ่ะคับ ตอนนี้ผมใช้ phpmyadmin 2.5.10 อยู่
Date : 2009-05-25 17:07:08 By : backship
 


 

No. 9



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

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

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


ก็ตรง tab ด้านบน tab ที่สาม SQL อ่ะคับ
กดไป แล้วใส่ sql ที่ echo ออกมาลงไป แล้วกดให้มัน query
Date : 2009-05-25 17:39:11 By : nut_t02
 


 

No. 10



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



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


งงคับ ผมมือใหม่อ่ะคับ ช่วยแจงให้เห็นภาพหน่อยคับ
Date : 2009-05-25 17:47:31 By : backship
 


 

No. 11



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

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

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


เอิ่ม
ตามรูปแระกัน
1. คือ click ที่ชื่อ db ของคุณ
2. เลือกที่ tab SQL
3. ใส่ sql ที่ echo ออกมาได้ลงในช่อง
แล้วก็กดปุ่มที่ข้อ 4

phpmyadmin

ลองหัดเรียนรู้ด้วยตัวเองเพิ่มขึ้นอีกนิดนึงนะคับ
ต่อไปเราจะได้มีประสบการณ์สูง นะคับ
Date : 2009-05-25 18:06:34 By : nut_t02
 


 

No. 12



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



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


ขอบคุณคับ
Date : 2009-05-25 21:53:53 By : backship
 


 

No. 13



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

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

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


ได้หรือยังอ่าคับ
Date : 2009-05-26 07:33:55 By : nut_t02
 


 

No. 14

Guest


ผลลัพธ์มันก็ออกมาถูกต้องนะคับ แต่ทำไมทำใน dream มันไม่ออกอ่ะ งงงงง

sum
Date : 2009-05-26 09:39:34 By : backship
 


 

No. 15



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



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


ทำยังไงดีคับคุณ nut_t02
Date : 2009-05-26 14:22:06 By : backship
 


 

No. 16



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



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

คุณครับ สนใจเปลี่ยนเป็น Code บ้านๆมั้ยครับ เดี๋ยวผมเขียนให้
Date : 2009-05-26 14:32:31 By : nongjen
 


 

No. 17



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

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

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


ลองแบบนี้ดูนะคับ ว่าได้ป่าว
Code (PHP)
<?php
include"config.inc.php";

$sql = 	"SELECT a.*, b.*, c.*, d.*, SUM(paydown) AS paysum ".
		"FROM paydown a ".
		"LEFT JOIN transac b ON b.uID = a.uID ".
		"LEFT JOIN member c ON c.uID = b.uID ".
		"LEFT JOIN tb_room d ON d.room_no = b.room_id ".
		"GROUP BY paydown.uID ";
$result = mysql_query($sql);

while( $row = mysql_fetch_assoc($result) )
{
	echo "<br>ห้อง : ".$row['uUSER']." ";
	echo "ชื่อ : ".$row['uNAME']." ";
	echo "ราคาห้อง : ".number_format($row['cost'])."บาท  ราคาดาวน์ : ".number_format($row['cost']*0.1)." บาท "; 
	echo"<br>ชำระเงินไปแล้ว : ".number_format($row['paysum'])." บาท";
}
?>

Date : 2009-05-26 15:11:17 By : nut_t02
 


 

No. 18



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



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

Code (PHP)
<?php

//ผมลองแล้วออก จากโจทย์
1 200 ----->ของนาย เอ
1 100 ----->ของนาย เอ
2 400 ----->ของนาย บี

id   1   300
id   2   400

Select distinct paydown.id, Sum(paydown.cotst), member.id, member.name From paydown Inner Join member ON paydown.id = member.id Group By paydown.id, member.id, member.name

?>

Date : 2009-05-26 15:29:04 By : nongjen
 


 

No. 19



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



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

Code (PHP)
<?php


// หรือเต็มยศ 


$sql = "Select distinct
paydown.id,
Sum(paydown.cotst) as sum_cost,
member.id,
member.name
From  paydown
Inner Join member ON paydown.id = member.id
Group By
paydown.id,
member.id,
member.name";


$result = mysql_query($sql);

while( $row = mysql_fetch_assoc($result) )
{
	echo "ชื่อ : ".$row['name']." ";
	echo "จ่ายแล้วทั้งหมด : ".$row[sum_cost])."บาท"; 
}

?>

Date : 2009-05-26 15:38:50 By : nongjen
 


 

No. 20



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



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


ขอบคุณทุกท่านมากคับ จะลองดูคับ
Date : 2009-05-26 16:08:40 By : backship
 


 

No. 21



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



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


<?php
include"config.inc.php";

$sql = 	"SELECT a.*, b.*, c.*, d.*, SUM(payvalue) AS paysum ".
		"FROM paydown a ".
		"LEFT JOIN transac b ON b.uID = a.uID ".
		"LEFT JOIN member c ON c.uID = b.uID ".
		"LEFT JOIN tb_room d ON d.room_no = b.room_id ".
		"GROUP BY paydown.uID ";
$result = mysql_query($sql);

while( $row = mysql_fetch_assoc($result) )
{
	echo "<br>ห้อง : ".$row['uUSER']." ";
	echo "ชื่อ : ".$row['uNAME']." ";
	echo "ราคาห้อง : ".number_format($row['cost'])."บาท  ราคาดาวน์ : ".number_format($row['cost']*0.1)." บาท "; 
	echo"<br>ชำระเงินไปแล้ว : ".number_format($row['paysum'])." บาท";
}
?>


ผมลองทำตามคุณ nut_t02 แล้วก็ยังไม่ได้อ่ะคับ ช่วยด้วยคับผม

มันขึ้น error ดังนี้คับ
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\project\admin\testshow.php on line 52

แต่ของคุณ nongjenny ทำได้แล้วคับ แต่ join ได้แค่ 3 ตาราง ผมลองเพิ่มไปอีกตารางคือ tb_room.room_no =transac.room_id แล้วมันไม่ได้อ่ะคับ ทำไงให้จอยได้ 4 ตารางอ่ะคับ
ปล. ตาราง transac.room_id กับ tb_room.room_no ค่าเหมือนกันนะคับ แต่ชื่อฟิวส์ไม่เหมือนกัน

ขอบคุณคับ
Date : 2009-05-28 17:00:45 By : backship
 


 

No. 22



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



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

เอาชื่อตารางมาครับ เดี๋ยวจอยให้ กี่ตารางก็จะจอยให้
Date : 2009-05-28 17:08:52 By : nongjen
 


 

No. 23



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



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

เอาชื่อตารางมาครับ เดี๋ยวจอยให้ กี่ตารางก็จะจอยให้

เอาชื่อตารางมา แล้วบอกด้วยว่าจะให้ผลลัพท์ออกยังไง
Date : 2009-05-28 17:10:22 By : nongjen
 


 

No. 24



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



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


นี่ error ใน sql คับ

error1
Date : 2009-05-28 17:11:10 By : backship
 


 

No. 25



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



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


4 ตาราง คับ

a. paydown.uID
b. member.uID
c. tb_room.room_no
d. transac.uID, transac.room_id

อยากให้

a join b
b join d.uID
d.room_id join c
Date : 2009-05-28 17:23:58 By : backship
 


 

No. 26



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

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

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


จาก error มันบอกว่า
"Unknown column 'paydown.uID' in group statement"
แปลได้ว่า
"ไม่รู้จักคอลัม 'paydown.uID' ตรงคำสั่ง group"

ความหมายก็คือ
ตรง GROUP BY paydown.uID
ให้เปลี่ยนเป็น GROUP BY a.uID
คับ

ลองดูอีกที
Date : 2009-05-28 17:44:14 By : nut_t02
 


 

No. 27



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



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

ขอตารางเต็มๆ หน่อยได้ป่ะ ถ้าได้ จอยให้ไม่ถึง 30 วินาที
Date : 2009-05-28 18:02:09 By : nongjen
 


 

No. 28



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



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

Unknown column 'paydown.uID' in group statement ตอนจอยกัน ตาราง จอยกันไม่ได้เพราะ มัน เข้ากันไม่ได้ มันก็เลยสร้าง ตาราง จำลองที่จะlink จ้อมูลกันไม่ได้ มันก็เลยบอกว่าไม่รู้จัก น่ะ
Date : 2009-05-28 19:04:15 By : nongjen
 


 

No. 29



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



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


ถ้างั้นจะลองดูอีกทีครับ
Date : 2009-05-28 21:21:07 By : backship
 


 

No. 30



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



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

ว่าไงครับ จอยกันได้ยัง
Date : 2009-05-28 23:00:18 By : nongjen
 


 

No. 31



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



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


พรุ่งนี้รู้ผลคับ วันนี้ขอนอนก่อนนะคับ เพลียจากการดูบอลเมื่อคืน.....
Date : 2009-05-28 23:11:55 By : backship
 


 

No. 32



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



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

เอาโครงสร้างตารางมาก็ได้ จะได้จอยให้ กี่ตารางก็ได้ครับ
Date : 2009-05-28 23:17:17 By : nongjen
 


 

No. 33

Guest


ขอบคุณทุกคนมากคับ แก้ได้แล้วครับ

เปลี่ยนจาก paydown.uID เป็น a.uID ก็ได้แล้วครับ ขอบคุณมากจริงๆคับ
Date : 2009-05-29 09:19:39 By : backship
 


 

No. 34

Guest


ถามอีกข้อคับ เราจะใส่ order by filed ตรงไหนดีคับ


$sql = "SELECT a.*, b.*, c.*, d.*, SUM(payvalue)AS paysum ".
"FROM paydown a ".
"LEFT JOIN transac b ON b.uID = a.uID ".
"LEFT JOIN member c ON c.uID = b.uID ".
"LEFT JOIN tb_room d ON d.room_no = b.room_id ".
"GROUP BY a.uID";
Date : 2009-05-29 10:04:26 By : backship
 


 

No. 35



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

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

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


$sql = "SELECT a.*, b.*, c.*, d.*, SUM(payvalue)AS paysum ".
"FROM paydown a ".
"LEFT JOIN transac b ON b.uID = a.uID ".
"LEFT JOIN member c ON c.uID = b.uID ".
"LEFT JOIN tb_room d ON d.room_no = b.room_id ".
"WHERE 1=1 ".
"GROUP BY a.uID ".
"ORDER BY d.room_no ASC";

เป็นต้นคับ
Date : 2009-05-29 10:37:07 By : nut_t02
 


 

No. 36



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



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


"WHERE 1=1 ".
ไว้ทำอะไรหรือคับ
พอดีผมไม่ได้ใส่ลงไป ใส่แต่ order by บรรทัดล่างสุด มันก็ได้ผลลัพธ์ที่ต้องการนะคับ
อยากรู้ว่าใส่เพื่ออะไรคับ
Date : 2009-05-29 10:53:26 By : backship
 


 

No. 37



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



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


where มันเป็นเงื่อนไข ถ้าต้องการข้อมูลที่มีข้อจำกัด ก็จะต้องใช้where เข้าช่วย
ต้องการข้อมูล ของ คนที่มี id = 1 เท่านั้น ก็จะได้

select * from table where id =1

ประมาณนี้อะ
Date : 2009-05-29 14:16:11 By : ail2geal2
 

   

ค้นหาข้อมูล


   
 

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