1

在过去的几个小时里,我一直在想办法从两个不同的表中提取相似的数据。我一直在玩 Join 语句,但无法完成我想要做的事情..

首先,我试图拉出我的客户列表,并在 html 表中显示他们及其来自该表的信息(这是完整的)。其次,我想获取他们的索引(称为 MID)并用于引用另一个表中的数据,该表包含更多关于他们的 MID 的数据。每个客户都有多个位于另一个表中的“项目”,每个项目都有一个名为“包”的值,该值可以是 1,2 或 3。我想做的是拉一张表中的所有客户数据,以及他们拥有的每个包裹的总数。即,在我的表中,我有一个用于 pack1、pack2、pack3 的空白位置,我希望它包含具有相同 MID 的包中包含该数字的总行数。

Example [ name ] [totalprojects][ totalpackage1][totalpackage2][totalpackage3]
          Bob          25               4               12             9

这是我的代码

$query_load_accounts = "SELECT * FROM useraccounts ORDER BY MID";
$result_load_accounts = mysqli_query($dbc, $query_load_accounts);

echo '<center><table border="1">';
echo '<cellpadding="10">';
echo '<th>Company Name</th>';
echo '<th>Member Since</th>';
echo '<th>Package 1</th>';
echo '<th>Package 2</th>';
echo '<th>Package 3</th>';
while ($row = mysqli_fetch_assoc($result_load_accounts))
{

echo "<tr>
<td><center>{$row['company']}</td></center>
<td><center>membersince</center></td> 
<td><center>notused</center></td> 
<td><center>package1</center></td>
<td><center>package2</center></td>
<td><center>package3</center></td>";

}  
echo "</center></table>";
mysqli_close($dbc);
mysqli_free_result($result_load_accounts);

其他有用信息 - 另一个表的名称是“项目”,需要的字段是 MID(客户特定)和包(只是一个包号,即包 1 14.99,包 2 是 24.99 分机)我想能够我猜使用一个加入语句来总计每个用户的每个包的数量..我只是遇到了很多麻烦

*更新我已经测试了以下语句并且它正确地提取了数据,现在我只需要知道如何在 PHP 中对这些数据进行排序。IE 计算每个用户的行数

$query_load_accounts = "SELECT useraccounts. , projects. FROM useraccounts LEFT JOIN 致敬 on useraccounts.mid = projects.mid ORDER BY UID";


由于此线程中的零活动,我自己解决了这个问题。甩掉包袱。

'SELECT mid,
SUM(IF(package = "1", 1,0)) AS `1`,
SUM(IF(package = "2", 1,0)) AS `2`,
SUM(IF(package = "3", 1,0)) AS `3`,
COUNT(package) AS `total`
FROM projects
GROUP BY mid
ORDER BY mid DESC'
4

1 回答 1

0

'选择中,SUM(IF(package = "1", 1,0)) AS 1, SUM(IF(package = "2", 1,0)) AS 2, SUM(IF(package = "3", 1, 0)) AS 3, COUNT(package) AS total FROM projects GROUP BY mid ORDER BY mid DESC'

于 2016-04-18T15:53:36.507 回答