[英]LEFT JOIN Not working properly
我需要一些有關LEFT Join
幫助
第一個數據庫是“ fpo”
ID ---- empnum -----量---日期---- ponum
第二個數據庫是“用戶”
ID ---- -----量---- EMPID名----密碼
我需要總計每個用戶在fpo中的“金額”,並將總計與用戶的金額進行比較。
這是我現在無法使用的代碼。
$result = mysqli_query($con,
"select fpo.amount , fpo.empnum , user.amount , user.fpo SUM(amount)
FROM LEFT JOIN fpo ON fpo.empnum = users.empnum GROUP BY empnum");
while($row = mysqli_fetch_array($result)) {
echo $row['empnum'];
echo "<br>";
echo $row['amount'];
}
由於某種原因,這不起作用。...我在做什么錯呢?我從未使用過JOIn命令。
這是mysql中數據的樣子
**first db is "fpo"** id----empnum-----amount-----date-------ponum 1-----854245-----5.00------9/7/14------12345 2-----123987-----8.00------9/7/14------12345 3-----123987-----5.00------9/7/14------12345 4-----854245-----15.00-----9/7/14------12345 5-----548798-----10.00-----9/7/14------12345 6-----854245-----30.00-----9/7/14------12345 **second db is "users"** id----amount-----empid----username----password 1-----700.00-----854245---admin-------abc123 2-----500.00-----123987---admin-------abc123 3-----200.00-----548798---admin-------abc123
我想做的是從fpo的sum(amount)
,其中empnum(note:from fpo)= empnum(note:from users)然后用empnumber和用戶表中的數量回顯求和的數量。
我需要為用戶數據庫中的每個人執行此操作。 我現在大約有150個人。
謝謝您的時間和幫助!!! 可能是一個簡單的問題:(
您沒有回顯總金額, $row['amount']
是單行的金額,您需要$row['SUM(amount)']
。 我建議您給它起一個別名,以使其更易於訪問:
$result = mysqli_query($con,"select f.amount , u.empid , u.amount ,
u.fpo, SUM(u.amount) AS total
FROM users AS u
LEFT JOIN fpo AS f ON f.empnum = u.empid
GROUP BY u.empid") or die(mysqli_error($con));
while($row = mysqli_fetch_array($result)) {
echo $row['empnum'];
echo "<br>";
echo $row['total'];
}
您還缺少在SUM(amount)
之前的逗號,在FROM
后面的表名,並且您需要使用表名來限定amount
,因為兩個表都有一個名為amount
的列。 您的ON
子句中也有user.empnum
,但該列是users.empid
。
您應該選擇並按users
而不是fpo
的列進行fpo
,因為如果users.empid
不匹配,則LEFT JOIN
可以返回fpo
NULL
的users.empid
。
這似乎為我工作。 謝謝!
result = mysqli_query($con,"select f.amount , u.empnum , u.amount ,
SUM(f.amount) AS total
FROM users AS u
LEFT JOIN fpo AS f ON f.empnum = u.empnum
GROUP BY u.empnum")
or die(mysqli_error($con));
while($row = mysqli_fetch_array($result)) {
echo "Emp".$row['empnum']."----".$row['total']."----Amount----".$row['amount']."<br>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.