两个表:
用户:user_info(user_id,user_name)
论文: t_paper(paper_id,paper_user_id)paper_user_id 存放的是多个user_id,用空格隔开的,
查找t_paper 中 用户名称(user_name)中有“张”的记录不知道这条sql怎么写啊,请帮忙!
用户:user_info(user_id,user_name)
论文: t_paper(paper_id,paper_user_id)paper_user_id 存放的是多个user_id,用空格隔开的,
查找t_paper 中 用户名称(user_name)中有“张”的记录不知道这条sql怎么写啊,请帮忙!
解决方案 »
- 求助mysql语句 删除某一字段空格以后的内容
- 升级数据库数据,系统提示&&如下
- 求一个SQL语句
- 急求解决mysql无法远程连接问题ERROR 2003 (HY000): Can't connect to MySQL server on '202.99.67
- 求mysql查询练习题目!!!
- 为什么postgresql客户端不能建立SQL连接?
- 求助
- window 下如何修改mysql的最大连接?在线等待,解决了马上给分,要多少给多少
- mysql中的临时表能不能取代其他数据库中的view?
- 请教关于mysql日期排序的问题,数据多重排序
- mysql的text字段类型用来存放文章的话长度设置成多少合适还是不用设?
- unique对于数据插入的限制问题
from user_info u,t_paper t
where FIND_IN_SET(u.user_id,replace(t.paper_user_id,' ',','))
and user_name like '%张%'
mysql> select * from user_info;
+---------+-----------+
| user_id | user_name |
+---------+-----------+
| 1 | 张A1 |
| 2 | 五A1 |
| 3 | 请A1 |
| 4 | 张A2 |
+---------+-----------+
4 rows in set (0.00 sec)mysql> select * from t_paper;
+----------+---------------+
| paper_id | paper_user_id |
+----------+---------------+
| 1 | 1 3 7 99 |
| 2 | 3 7 999 |
| 3 | 1 4 7 99 |
| 4 | 99 |
+----------+---------------+
4 rows in set (0.00 sec)mysql>
mysql> select *
-> from user_info u,t_paper t
-> where FIND_IN_SET(u.user_id,replace(t.paper_user_id,' ',','))
-> and user_name like '%张%';
+---------+-----------+----------+---------------+
| user_id | user_name | paper_id | paper_user_id |
+---------+-----------+----------+---------------+
| 1 | 张A1 | 1 | 1 3 7 99 |
| 1 | 张A1 | 3 | 1 4 7 99 |
| 4 | 张A2 | 3 | 1 4 7 99 |
+---------+-----------+----------+---------------+
3 rows in set (0.01 sec)mysql>
select count(*) from t_paper where paper_id in(select ...)
虽然有点麻烦,能用就OK啦