2017-08-12 68 views
0

表名client我有一个二维表格,我怎样才能把这些数据如下?

id name  mail 
1 semsi pasa [email protected] 
2 demir ali [email protected] 

表名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 [email protected] 948583493848484 
demir ali [email protected] 324234324242342 
+0

需要在您的SQL中使用简单的“JOIN”来组合表格。 – Canis

回答

3

余吨hink您正在寻找聚集:

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; 

注意:如果你决定要值之间的分离,然后用的东西,除了''

+0

我想要字段值5和4来提出这些。 – SemsiPasa

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; 
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 

感谢。

相关问题