สามารถแสดงเฉพาะลูกค้าที่มีการสั่งซื้อ พร้อมจำนวนได้ไหมครับ
แล้ว 2 ตารางที่ว่า มีรูปร่างหน้าตายังงัย
สมมุติมี 2 ตาราง
- Customer (cust_id, name, surename)
- Orders (order_id, cust_id, qty)
sql = "select c.cust_id, c.cust_name, o.qty from customers c, orders o where o.cust_id = c.cust_id"
คงจะประมาณนี้
จริงแล้วส่วนใหญ่จะเห็น 3 ตารางน่ะ
- Products (product_id, product_name, qty)
- Customer (cust_id, cust_name, cust_surename)
- Orders (order_id, product_id, cust_id, qty)
Date :
2017-06-13 19:32:33
By :
ccjpn
จริงอย่างที่ คุณ James_037 พูดถูกแล้ว ครับ ต้องแยก Table ออกมา เป็น 3 Table ระบบจะดีขึ้น และ เขียน Code ได้ง่ายขึ้น
Date :
2017-06-14 09:52:48
By :
Bouasavanh HararRock
ลองทำได้แล้วครับ ใช้ mysql_num_rows ครับ
Code (PHP)
<?
$strSQL = "SELECT* FROM ordering WHERE OrderPayType='4' and StatusOrder='0' and StatusPay='0' group by CusID";
$objQuery = mysql_query($strSQL) or die(mysql_error());
while($objResult = mysql_fetch_array($objQuery))
{
$strSQL2 = "SELECT* FROM ordering WHERE CusID = '" .$objResult["CusID"]. "' and OrderPayType='" .$objResult["OrderPayType"]. "' and StatusOrder='" .$objResult["StatusOrder"]. "' and StatusPay='" .$objResult["StatusPay"]. "' ";
$objQuery2 = mysql_query($strSQL2);
$objResult2 = mysql_fetch_array($objQuery2);
$num=mysql_num_rows($objQuery2);
$strSQL3 = "SELECT * FROM customer WHERE CusID = '" .$objResult2["CusID"]. "' ";
$objQuery3 = mysql_query($strSQL3);
$objResult3 = mysql_fetch_array($objQuery3);
?>
จริงๆมีตารางเยอะกว่านี้ครับ แต่กะจะดูแค่OrderIDอย่างเดียว
เลยคิดว่าน่าจะอิงจาก2ตารางก็พอ
ขอบคุณมากครับผม
ประวัติการแก้ไข 2017-06-14 15:20:43 2017-06-14 15:21:51 2017-06-14 15:22:45 2017-06-14 15:23:58
Date :
2017-06-14 13:22:13
By :
tongzuk
ทำไมต้อง SELECT 3 Table ด้วย ใช้ LEFT JOIN ก็ได้ ขอแค่ ทุก ตาราง Relationship กันก็ JOIN กันได้ และ ต้องรู้ว่าจะ เอาอันไหนมา Show
Example:
Code (SQL)
SELECT stock_d.admin.AdminID,
stock_d.admin.AdminName,
stock_d.admin.AdminUser,
stock_d.admin.AdminPass,
staffdata.wtbldept.DeptID,
staffdata.wtbldept.DeptName,
staffdata.tblteamtest.Sno,
staffdata.tblteamtest.S_DCODE,
staffdata.tbldivisiontest.DivisionID,
staffdata.tbldivisiontest.DivisionName,
stock_d.administrator.administrator_id
FROM stock_d.admin
LEFT JOIN stock_d.administrator ON administrator.administrator_id = admin.administrator_id
LEFT JOIN staffdata.wtbldept ON wtbldept.DeptID = admin.DeptID
LEFT JOIN staffdata.tbldivisiontest ON tbldivisiontest. DivisionID = admin.DivisionID
LEFT JOIN staffdata.tblteamtest ON tblteamtest.Sno = admin.Sno
WHERE admin.AdminID='$AdminID' OR administrator.administrator_id='$administrator'
GROUP BY admin.AdminID
อันนี้ LEFT JOIN 5 Table และ 2 Database
db1= stock_d
db2=staffdata
Date :
2017-06-14 16:39:30
By :
Bouasavanh HararRock
ขอบคุณมากครับที่แนะนำ
ผมเรียนคอมธุรกิจ ส่วนตัวจะถนัดพวกวิเคราะห์กับออกแบบ
เรื่องเขียนโปรแกรม ผมไม่ได้ศึกษาเพิ่มเติมเลยครับ (ขี้เกียจเอง)
แต่ต้องทำโปรเจคจบ เลยต้องเขียนโปรแกรมเอง แบบงูๆปลาๆครับ
ต่อไปคงต้องศึกษาเรื่องพวกนี่้อย่างจริงจังแล้วครับ
ขอบคุณมากครับ
Date :
2017-06-14 18:56:56
By :
tongzuk
ถ้าวิเคราะห์กับออกแบบมาดี เวลา เขียน Code จะง่ายมากและงานจะเสร็จเร็ว ไม่มีปัญหา เวลาเขียน Flowchart , Data Flow and ER
keep fight
Never Give up !!!
Date :
2017-06-15 08:51:26
By :
Bouasavanh HararRock
ขอบคุณครับผม
Date :
2017-06-16 11:21:06
By :
tongzuk
Load balance : Server 05