表名client
id name mail
1 semsi pasa semsi@semsi.com
2 demir ali mermer@mermer.com
表名registerid
fields clientid values
4 1 94858
5 1 3493848484
4 2 32423
5 2 4324242342
foreach($user as $key => $val){
echo "one row:".$user[$key]['name']." ".$user[$key]['mail']." ".$user[$key]['values']."<br>";
}
它看起来像在屏幕上
semsi pasa semsi@semsi.com 948583493848484
demir ali mermer@mermer.com 324234324242342
答案 0 :(得分:3)
我认为你正在寻找聚合:
select c.name, c.mail, group_concat(r.values order by fields separator '' )
from client c join
registerid r
on c.id = r.clientid
group by c.id;
注意:如果您决定在值之间单独使用,请使用''
以外的内容。
答案 1 :(得分:0)
因为您还需要获取字段值,
所以在上面的答案中添加“字段”,就会得到这个查询 -
select c.name, c.mail, r.fields, group_concat(r.values order by fields separator '' )
from client c join
registerid r
on c.id = r.clientid
group by c.id;
答案 2 :(得分:0)
SELECT GROUP_CONCAT(tt.value order by tt.fieldid = 4 separator '' ) FROM tc JOIN tt ON tc.id = tt.relid where tt.fieldid IN ('4','5') group by tc.id
谢谢我的方式。