 |
เรียนถามท่านผู้รู้ดิฉันต้องการjoinข้อมูล3ตาราง ก่อนjoin groupตารางที่1ก่อนแล้วถึงjoinตารางที่2,3เขียนcodeยังไงค่ะ |
|
 |
|
|
 |
 |
|
เรียนถามท่านผู้รู้ดิฉันต้องการjoinข้อมูล3ตาราง
ก่อนjoinทั้ง3ตาราง ต้องการgroupข้อมูลตารางที่1ก่อน
แล้วนำข้อมูลที่ได้จากการgroupตารางที่1ไปjoinกับข้อมูลตารางที่2,ตารางที่
เช่น 1.ตารางเงิน มีข้อมูล ProjectCode ,AmountCash,TypeCode,TransType
ต้องการ
SELECT ProjectCode, TypeCode,TransType, Sum(AmountCash)
FROM cashflow
GROUP BY ProjectCode, TypeCode, TransType;
นำข้อมูลที่ได้ไปjoinกับตารางโครงการและตารางฝ่าย
2.ตารางโครงการ มีข้อมูล ProjectCode ,Amount,DepartmentCode
3.ตารางฝ่าย มีข้อมูล DepartmentCode,DepartmentName
สิ่งที่ต้องการคือ group(DepartmentCode),group(DepartmentName),count(ProjectCode),sum(Amount),Sum(AmountCash)
ต้องเขียนcodeยังงไงค่ะ
Tag : PHP, MySQL, HTML/CSS, JavaScript, CakePHP
|
|
 |
 |
 |
 |
Date :
2011-02-26 23:35:26 |
By :
มือใหม่ |
View :
1054 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยด้วยนะค่ะท่านผู้รู้
|
 |
 |
 |
 |
Date :
2011-02-27 22:07:17 |
By :
มือใหม่ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดิฉันเอาcode ที่คุณPlaKriMให้มาเขียนดังนี้
Code (PHP)
$sql="SELECT o.DeptCode,count(o.ProjectCode),sum(o.Amount),sum(cf.AmountCash),d.DeptName
FROM
(SELECT cf.ProjectCode, cf.TypeCode,cf.TransType, sum(cf.AmountCash)
FROM cashflow GROUP BY cf.ProjectCode,cf.TypeCode, cf.TransType
WHERE (cf.TypeCode = 'A') AND (cf.TransType ='I')) as cf
INNER JOIN openproject AS o ON cf.ProjectCode = o.ProjectCode
INNER JOIN department AS d ON o.DeptCode = d.DeptCode
GROUP BY d.DeptName,o.DeptCode
ORDER by o.DeptCode ASC";
แล้วฟ้อง error
Error : SELECT o.DeptCode,count(o.ProjectCode),sum(o.Amount),sum(cf.AmountCash),d.DeptName FROM (SELECT cf.ProjectCode, cf.TypeCode,cf.TransType, sum(cf.AmountCash) FROM cashflow GROUP BY cf.ProjectCode,cf.TypeCode, cf.TransType WHERE (cf.TypeCode = 'A') AND (cf.TransType ='I')) as cf INNER JOIN openproject AS o ON cf.ProjectCode = o.ProjectCode INNER JOIN department AS d ON o.DeptCode = d.DeptCode GROUP BY d.DeptName,o.DeptCode ORDER by o.DeptCode ASCYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (cf.TypeCode = 'A') AND (cf.TransType ='I')) as cf INNER JOIN o' at line 5
ต้องแก้ยังไงค่ะ ไม่ได้จริง ๆค่ะ
|
 |
 |
 |
 |
Date :
2011-02-28 09:51:54 |
By :
มือใหม่ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$sql="SELECT o.DeptCode,count(o.ProjectCode),sum(o.Amount),sum(cf.AmountCash),d.DeptName
FROM
(SELECT cf.ProjectCode, cf.TypeCode,cf.TransType, sum(cf.AmountCash)
FROM cashflow GROUP BY cf.ProjectCode,cf.TypeCode, cf.TransType
WHERE (cf.TypeCode = 'A') AND (cf.TransType ='I')) as cf
INNER JOIN openproject AS o ON cf.ProjectCode = o.ProjectCode
INNER JOIN department AS d ON o.DeptCode = d.DeptCode
GROUP BY d.DeptName,o.DeptCode
ORDER by o.DeptCode ASC";
Syntax ไม่ถูกอยู่นะครับ
|
 |
 |
 |
 |
Date :
2011-02-28 10:59:44 |
By :
PlaKriM |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยด้วยนะค่ะ ไม่ได้จริง ๆ
|
 |
 |
 |
 |
Date :
2011-02-28 13:24:25 |
By :
มือใหม่ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|