【发布时间】:2012-04-18 09:42:40
【问题描述】:
请您帮助我优化我的查询。我想从同一个表中获取 10 个不同的行数据。
这是其中一个查询
$query1 = mysql_query("SELECT m.Course_code AS 'Course', m.score, m.grade
FROM maintable AS m
INNER JOIN students AS s ON
m.matric_no = s.matric_no
INNER JOIN Courses AS c ON
m.Course_code = c.Course_code
WHERE m.matric_no = '".$matric_no."'
AND m.semester_name = 'hamattarn'
AND m.level = '100' ") or die (mysql_error());
$number_cols1 = mysql_num_fields($query1) ;
查询的这一部分正在针对所有查询进行更改
AND m.semester_name = 'hamattarn'
AND m.level = '100' "
AND m.semester_name = 'rain'
AND m.level = '100' "
AND m.semester_name = 'hamattarn'
AND m.level = '200' "
AND m.semester_name = 'rain'
AND m.level = '200' "
AND m.semester_name = 'hamattarn'
AND m.level = '300' "
AND m.semester_name = 'rain'
AND m.level = '300' "
AND m.semester_name = 'hamattarn'
AND m.level = '400' "
AND m.semester_name = 'rain'
AND m.level = '400' "
AND m.semester_name = 'hamattarn'
AND m.level = '500' "
AND m.semester_name = 'rain'
AND m.level = '500' "
这是我通过查询能够实现的目标的图片。优化后我仍然希望它看起来像这样。
示例图片
感谢您的时间和耐心。
更新 -- 这是我在优化之前显示 10 个查询中每一个查询的行表的方式。请问如何使用新的优化查询来实现这种表类型? p>
echo "<table class=\"altrowstable\" id = " bgcolor = gold >\n";
echo "<tr align=center>\n";
for ($i=0; $i<$number_cols10; $i++)
{
echo "<th>" . mysql_field_name($query10, $i). "</th>";
}
echo "</tr>\n";
while ($row = mysql_fetch_row($query10))
{
echo "<tr align=center>\n";
for ($i=0; $i<$number_cols10; $i++)
{
echo "<td>";
if (!isset($row[$i]))
{echo "NULL";}
else
{
echo "<b>".$row[$i]."</b>";
}
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
echo"</span>" ;
谢谢
【问题讨论】:
-
(子句)或(子句)或(子句)...
-
Maintainable和Courses和Maintainable和Students是什么关系?一对一?一对多?