我今天从许多不同的方式攻击了这个,我没有想到显示我的数据的最佳方式是可以在一个表中显示单个查询。问题是我有三个查询,我试图结合,它不会很好。我觉得它很接近但显然不正确。此查询的错误在哪里?
$sql = (SELECT SUM(datamb) AS value_sum FROM maindata GROUP BY phonenumber UNION select dataplan as currentplan from maindata
GROUP BY phonenumber UNION SELECT DISTINCT phonenumber AS value_sum1 FROM maindata);
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
while ($row = mysql_fetch_assoc($result)){
echo "<TABLE id='display'>";
echo "<td><b>Data Usage This Period: ". ROUND ($row["value_sum"],2) . "MB</b></td> ";
echo "<td><b>Data Plan: ". $row["currentplan"] . "</b></td> ";
echo "<td><b>Phone Number: ". $row["value_sum1"] . "</b></td> ";
echo "</TABLE>";
}
问题是我想三列数据,我得到的只是一列所有数据
那么究竟是什么问题? –
您正在使用UNION。我相当肯定你想加入表格,但由于你没有说出问题所在,这只是一个猜测。 – andrewsi