连接两个具有不同行数的mysql表
我有两个表连接两个具有不同行数的mysql表,mysql,join,Mysql,Join,我有两个表tasks和task\u category: 任务 任务类别 +---------+----------------+ | ID |task_category | +---------+----------------+ | 1 | category_1 | +---------+----------------+ | 2 | category_2 | +---------+----------------+ | 3
tasks
和task\u category
:
任务
任务类别
+---------+----------------+
| ID |task_category |
+---------+----------------+
| 1 | category_1 |
+---------+----------------+
| 2 | category_2 |
+---------+----------------+
| 3 | category_3 |
+---------+----------------+
| 4 | category_4 |
+---------+----------------+
我需要像这样输出html表:
<table>
<tr>
<td>
category_1
</td>
</tr>
<tr>
<td>
task_1
</td>
</tr>
<tr>
<td>
task_2
</td>
</tr>
<tr>
<td>
task_3
</td>
</tr>
<tr>
<td>
category_2
</td>
</tr>
<tr>
<td>
task_4
</td>
</tr>
</table>
SELECT DISTINCT factor.* , cat.task_name as factors
FROM task_category as factor
LEFT JOIN task AS cat ON factor.id = cat.task_category_id
第1类
任务1
任务2
任务3
类别2
任务4
选择独特因子。*,cat.task\u name作为因子
从任务类别作为因素
以cat ON factor.id=cat.task\u category\u id的形式左键加入任务
此mysql查询返回重复的类别条目。。。如何连接表以获得所提供示例中的结果
SELECT task_name, task_category
FROM task LEFT JOIN task_category
ON task.category_id=task_category.id
然后遍历结果以构建表。您将有重复的catogories,但不必将它们写入表中:
echo '<table>';
$last_category='DUMMY_NO_CATEGORY';
foreach ($rows as $row) { // <-- Please adapt to your database connection
if ($row['task_category']!=$last_category) {
echo '<tr><td>'.$row['task_category'].'</td></tr>';
$last_category=$row['task_category'];
}
echo '<tr><td>'.$row['task_name'].'</td></tr>';
}
echo '</table>';
echo';
$last_category='DUMMY_NO_category';
foreach($行作为$行){//
echo '<table>';
$last_category='DUMMY_NO_CATEGORY';
foreach ($rows as $row) { // <-- Please adapt to your database connection
if ($row['task_category']!=$last_category) {
echo '<tr><td>'.$row['task_category'].'</td></tr>';
$last_category=$row['task_category'];
}
echo '<tr><td>'.$row['task_name'].'</td></tr>';
}
echo '</table>';