赞
踩
1、一个人员文件表结构和数据如下:
2、一个文件表,结构和数据如下:
需求一: 查询共同拥有file_id为3的用户
查询SQL:
select u.* from temp_user_file u where FIND_IN_SET(3,u.file_id_str)
结果:
需求二:关联查询用户所有file文件的名称和URL
查询sql:
- SELECT t.user_id, f.id AS file_id, f.file_name, f.file_url FROM temp_user_file t
-
- LEFT JOIN temp_file f ON FIND_IN_SET(f.id,t.file_id_str)
结果:
本人不建议在正式的大型项目中使用逗号分隔,存储数据,但往往有一些老项目或者遗留的表中存在类似的结构,如果实在不能新增表,只能扩展部分字段用以支持1对多关系,可参考。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。