 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันขึ้น 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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยทีคับ งงมา 3 วันแล้ว
|
 |
 |
 |
 |
Date :
2009-05-25 16:36:36 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กำ
echo แล้วก็เอาไป run ที่ phpmyadmin ด้วยดิคับ
|
 |
 |
 |
 |
Date :
2009-05-25 17:03:34 |
By :
nut_t02 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รันยังไงอ่ะคับ ตอนนี้ผมใช้ phpmyadmin 2.5.10 อยู่
|
 |
 |
 |
 |
Date :
2009-05-25 17:07:08 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็ตรง tab ด้านบน tab ที่สาม SQL อ่ะคับ
กดไป แล้วใส่ sql ที่ echo ออกมาลงไป แล้วกดให้มัน query
|
 |
 |
 |
 |
Date :
2009-05-25 17:39:11 |
By :
nut_t02 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งงคับ ผมมือใหม่อ่ะคับ ช่วยแจงให้เห็นภาพหน่อยคับ
|
 |
 |
 |
 |
Date :
2009-05-25 17:47:31 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอิ่ม
ตามรูปแระกัน
1. คือ click ที่ชื่อ db ของคุณ
2. เลือกที่ tab SQL
3. ใส่ sql ที่ echo ออกมาได้ลงในช่อง
แล้วก็กดปุ่มที่ข้อ 4

ลองหัดเรียนรู้ด้วยตัวเองเพิ่มขึ้นอีกนิดนึงนะคับ
ต่อไปเราจะได้มีประสบการณ์สูง นะคับ
|
 |
 |
 |
 |
Date :
2009-05-25 18:06:34 |
By :
nut_t02 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณคับ
|
 |
 |
 |
 |
Date :
2009-05-25 21:53:53 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้หรือยังอ่าคับ
|
 |
 |
 |
 |
Date :
2009-05-26 07:33:55 |
By :
nut_t02 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผลลัพธ์มันก็ออกมาถูกต้องนะคับ แต่ทำไมทำใน dream มันไม่ออกอ่ะ งงงงง

|
 |
 |
 |
 |
Date :
2009-05-26 09:39:34 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำยังไงดีคับคุณ nut_t02
|
 |
 |
 |
 |
Date :
2009-05-26 14:22:06 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุณครับ สนใจเปลี่ยนเป็น Code บ้านๆมั้ยครับ เดี๋ยวผมเขียนให้
|
 |
 |
 |
 |
Date :
2009-05-26 14:32:31 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแบบนี้ดูนะคับ ว่าได้ป่าว
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณทุกท่านมากคับ จะลองดูคับ
|
 |
 |
 |
 |
Date :
2009-05-26 16:08:40 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
<?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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาชื่อตารางมาครับ เดี๋ยวจอยให้ กี่ตารางก็จะจอยให้
|
 |
 |
 |
 |
Date :
2009-05-28 17:08:52 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาชื่อตารางมาครับ เดี๋ยวจอยให้ กี่ตารางก็จะจอยให้
เอาชื่อตารางมา แล้วบอกด้วยว่าจะให้ผลลัพท์ออกยังไง
|
 |
 |
 |
 |
Date :
2009-05-28 17:10:22 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นี่ error ใน sql คับ

|
 |
 |
 |
 |
Date :
2009-05-28 17:11:10 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จาก 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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอตารางเต็มๆ หน่อยได้ป่ะ ถ้าได้ จอยให้ไม่ถึง 30 วินาที
|
 |
 |
 |
 |
Date :
2009-05-28 18:02:09 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Unknown column 'paydown.uID' in group statement ตอนจอยกัน ตาราง จอยกันไม่ได้เพราะ มัน เข้ากันไม่ได้ มันก็เลยสร้าง ตาราง จำลองที่จะlink จ้อมูลกันไม่ได้ มันก็เลยบอกว่าไม่รู้จัก น่ะ
|
 |
 |
 |
 |
Date :
2009-05-28 19:04:15 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้างั้นจะลองดูอีกทีครับ
|
 |
 |
 |
 |
Date :
2009-05-28 21:21:07 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ว่าไงครับ จอยกันได้ยัง
|
 |
 |
 |
 |
Date :
2009-05-28 23:00:18 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พรุ่งนี้รู้ผลคับ วันนี้ขอนอนก่อนนะคับ เพลียจากการดูบอลเมื่อคืน.....
|
 |
 |
 |
 |
Date :
2009-05-28 23:11:55 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาโครงสร้างตารางมาก็ได้ จะได้จอยให้ กี่ตารางก็ได้ครับ
|
 |
 |
 |
 |
Date :
2009-05-28 23:17:17 |
By :
nongjen |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณทุกคนมากคับ แก้ได้แล้วครับ
เปลี่ยนจาก paydown.uID เป็น a.uID ก็ได้แล้วครับ ขอบคุณมากจริงๆคับ
|
 |
 |
 |
 |
Date :
2009-05-29 09:19:39 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถามอีกข้อคับ เราจะใส่ 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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
"WHERE 1=1 ".
ไว้ทำอะไรหรือคับ
พอดีผมไม่ได้ใส่ลงไป ใส่แต่ order by บรรทัดล่างสุด มันก็ได้ผลลัพธ์ที่ต้องการนะคับ
อยากรู้ว่าใส่เพื่ออะไรคับ
|
 |
 |
 |
 |
Date :
2009-05-29 10:53:26 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
where มันเป็นเงื่อนไข ถ้าต้องการข้อมูลที่มีข้อจำกัด ก็จะต้องใช้where เข้าช่วย
ต้องการข้อมูล ของ คนที่มี id = 1 เท่านั้น ก็จะได้
select * from table where id =1
ประมาณนี้อะ
|
 |
 |
 |
 |
Date :
2009-05-29 14:16:11 |
By :
ail2geal2 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|