多语言展示
当前在线:158今日阅读:61今日分享:18

mysql查询1对多关系型数据

在web开发过程中,常常会遇到一对多型的数据关系,初学者往往在处理数据时采用的方法不够简便,下面介绍一种方法,只用一条sql语句,就能直接取到一对多的关系型的数据。
工具/原料

mysql自带group_concat关键字

方法/步骤
1

创建一个示例表,供演示用,语句如下:create table test_concat(     id int(10) primary_key auto_increment,     spec varchar(255) not null,     attribute varchar(255) not null)ENGINE=MyISAM  DEFAULT CHARSET=utf8;在mysql工具navicat for mysql(其他工具也可以)下执行完毕,效果如图:

2

在数据库中插入几条数据,供演示用,数据如图:

3

在mysql工具navicat for mysql(其他工具也可以)下输入如下语句:select spec,group_concat(attribute) from test_concat group by spec;执行后结果如图:

4

这时候再通过程序来获取数据就是很轻松的事了。根据所使用的语言,选择合适的方法去获取相应数据,并进行处理就可以了。

注意事项

sql语句结尾必须以一对多关系中的1为分组条件,本例中是spec字段。

推荐信息