我正在使用MySQL INNER JOIN语句,它从连接返回主表中一个不同记录的各种结果,类似于How to Join Multiple Joins yet return Distinct Values我的查询是
SELECT cl.*, dep.dept_name
FROM epapers.clientelle cl
INNER JOIN epapers.dept_staff_users depu
ON depu.user_id=cl.user_id
INNER JOIN epapers.dept dep
ON dep.dept_id=depu.dept_id
group by cl.user_id
ORDER BY cl.user_name ASC,
我想在下面的表格中显示上面的内容
echo "<tr bgcolor='#CCCCCC'>
<td >$num</td><td >".$row[user_id]."</td><td>".$row[user_name]."</td>
<td >".$row[fname]."</td><td >".$row[lname]."</td>
<td >".$row[dept_name]."</td>
<td >".$row[dept_name]."</td>
<td >".$row[dept_name]."</td>
<td >".$row[email]."</td>";
$TrID = "$row[user_id]";
echo "<td >";
echo '<form name="activate" action="activate_acc.php" method="POST" ;">';
echo "<input type='hidden' name='TrID' value='$TrID'>";
echo "<input type='checkbox' name='active' value='$row[active]'>";
echo '<input type="submit" name="Submit" value="Delete">';
echo '</form>';
echo "</td >";
...
注意部门最多可以是3个部门 . 如何在单行中为部门返回mysql查询结果?
2 回答
如果您使用的是MySQL,可以使用GROUP_CONCAT,但是您必须进行一些后期处理,这有点难看 .
它在运行时有点非规范化......
以及使用mysql查询执行此操作的方法是为三个部门中的每个部门加入表格,例如:选择a.dept_id作为dept_1 b.dept_id作为dept_2等,并为每个dept id加入相同的表格 . . 这种方式非常耗费处理器 . 以编写查询的方式获取数据要快得多,然后在使用之前使用函数处理数据 . 这是一个如何做到这一点的简单例子:
// 祝好运