我有两个MySQL表,都通过MySQL JOIN连接:
TableA:
hom_id con_id
3 4
5 3
TableB:
hom_id con_id hp_id
3 4 1
3 4 2
我的伪PHP代码:
foreach ($hom as $h) //from TableA
echo $h->con_id
---myidea---
foreach ($pro as $p) //from TableB
echo $p->hp_id
endforeach
---END---
endforeach
我得到的HTML结果是:
Result HTML Table:
con_id hp_id
3 1 2
4 1 2
我想要的是:
result HTML:
con_id hp_id
3
4 1 2
我很确定,它只需要修改几行PHP代码。 但我无法看到答案,请给我一个如何改变它的提示。 感谢
答案 0 :(得分:2)
答案 1 :(得分:2)
您可以使用以下sql语句:
select a.con_id,group_concat(b.hp_id SEPARATOR " ") as hp_id
from tableA a
left join tableB b on(a.hom_id=b.hom_id and a.con_id=b.con_id)
group by a.hom_id,a.con_id
它将根据您的要求给出结果。
答案 2 :(得分:1)
为什么不尝试更改查询?
SELECT A.con_id, B.hp_id
FROM A
LEFT JOIN B ON(A.con_id = B.con_id)
做一个简单的foreach
foreach($result as $res)
{
echo $res->con_id, $res->hp_id
}