我是 angularjs
的新人和json
。我想显示属性 name
来自id
来自与包含 id
的其他表(表 B)相关的一个表(表 A)来自表A。
这是表 A:
---------------------
id_skill | name_skill
---------------------
1 | medical record
2 | rontgen
3 | thorax
---------------------
和表 B:
----------------------------------------
id_client | name_client | skill_client
----------------------------------------
1 | john | 1,2
2 | smith | 3
----------------------------------------
我想要回显/显示表 B 中的数据,但在 skill_client
中列包含id(s)
来自表 A。我想用 name_skill
显示该列来自 json
中的表 A方法和PHP
。
这样我就可以像这样在我的页面中获取数据:
------------------------
Name | Skills
------------------------
John | medical record, rontgen
Smith | thorax
------------------------
你能帮我吗?
最佳答案
您确实应该更改表结构并规范化数据库。最好的办法是创建一个新表来存储 id_client 和 id_skill 并从第二个表中删除逗号分隔的数据。但是,就您而言,您可以尝试以下操作
select
b.name_client,
group_concat(a.name_skill) as skills
from tableb b
left join tablea a on find_in_set(a.id_skill,b.skill_client) > 0
group by b.id_client ;
关于php - 左连接mysql多表id并以JSON形式显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28765361/