|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
2018/12/22 18:57:25 |
标题: |
求:查询本部门人员参与的所有项目,sql语句思路? |
浏览:1437 |
|
加入我的收藏 |
楼主: |
数据库:MySQL5.0 如有一项目表
id 项目 参与人员 1 x1 a1,a4 2 x2 a2,a3,a7 3 x3 a5,a6
如本部门人员 a1,a2,a3 查询本部门人员参与的所有项目?
显示
1 x1 a1,a4 2 x2 a2,a3,a7
--------- 用FIND_IN_SET(str,strlist),只能查询一个用户, FIND_IN_SET("a1,a2,a3",strlist)这种写法不行
该如何写查询,请教其方法或思路?
----------------------------------------------
- |
作者: |
|
2018/12/22 21:06:15 |
1楼: |
难道查询不了 请大家提供一个查询思路!
----------------------------------------------
-
|
作者: |
|
2018/12/22 21:10:45 |
1楼: |
试试 instr(str,strlist)这种写法
----------------------------------------------
Delphi爱好者。
|
作者: |
|
2018/12/22 22:32:26 |
2楼: |
instr不行 若是mysql5.7.8,类似这个可能行 http://www.cnblogs.com/fengff/p/9293758.html
但我的是mysql5.0
----------------------------------------------
-
|
作者: |
|
2018/12/22 22:38:44 |
3楼: |
写一个函数, 解析参与人员字段,返回结果集,然后,就简单了
----------------------------------------------
-
|
作者: |
|
2018/12/23 10:27:31 |
4楼: |
select + like ?
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
|
作者: |
|
2018/12/24 7:52:53 |
5楼: |
再建一个表A 数据如下 参与人员 id a1 1 a4 1 a2 2 a2 2 a7 2 a5 3 a6 3
Select id,项目,参与人员 from 项目表 Where ID in(Select ID From A Where 参与人员 in(’a1‘,’a2‘,’a3’)
----------------------------------------------
-
|
作者: |
|
2018/12/24 8:30:03 |
6楼: |
这个表就设计的不好,实际上应该参与人员里就一个人就好办了。当初偷懒放一起了,现在就要多花点时间了。 https://blog.csdn.net/u012009613/article/details/52770567
----------------------------------------------
-
|
作者: |
|
2018/12/25 8:35:35 |
7楼: |
谢谢大家的热心回复。 做的执法文书处理,执法办案必须两人及以上,有时也会多部门联合办案 解决办法如下
1、用substring_index将一行变多行
2、SELECT distinct * from WHERE FIND_IN_SET查询
----------------------------------------------
-
|
作者: |
|
2018/12/27 13:41:30 |
8楼: |
一个思路,提供参考: 分别查找部门单一人员所参与的项目,然后union合起来。
----------------------------------------------
喜欢Delphi,关注Delphi,愿和广大爱好者交朋友。
|
作者: |
|
2018/12/27 16:46:42 |
9楼: |
给一个MSSQL2008可用的方法给你参考
此帖子包含附件:
大小:30.4K |
----------------------------------------------
我是菜鸟,己经搞了十多年了,但是我仍然很菜。
|
|