建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
解决方案 »
- mysql 5.5里如何重命名数据库
- mysql查询性能的问题,比较奇怪
- 给客户交货时遇到错误!急急急急急急急急急急急!!!!求高手指点(没多少分了,请谅解)
- 关于mysql的一个问题,希望高手给我解决下
- 请教!一段SQL语句看了两天实在看不懂。
- 搜索一个时间字段的值在上月20日之后,在当前月20之前的记录,因该怎么写?
- 如果发现自己的mysql没有充分利用CPU该关注那些参数?
- 十万火急????请问各位有关PHP与MYSQL的问题....有谁知道好的PHP初学的网站或MYSQL数据库的网站....精华哟..........................
- 讨论一个问题:究竟是sql server快还是mysql? 我就会用这两种网络数据库了
- 求知识,MYSQL多表联调获取200条数据显示在页面,SQL如何优化?
- 为字段限制默认值
- 字符两两一组反转
rbId varchar(32) PK
isPub int(11)是否公开 (1: 公开 0:未公开)
name varchar(100)名称
org_orgId varchar(36)属所机构(FK)(就是省份)用户表
uid varchar(32) PK
name varchar(100)姓名
org_orgId varchar(36)属所机构(FK)(就是省份)机构表
orgId varchar(32) PK
name varchar(100)机构名称这些字段只是这些表中的部分字段。
现在情况是,假如有一个用户登录了,他是江苏省的。那么他可以查看所有的公开资源,也可以查看本省的非公开资源。但不能查看其他省的非公开资源。现在要查一个列表,sql怎么写。
select name from 资源表 A, 用户表 B where A.orgid = B.org_org_id
union
select name from 资源表 A where isPub = 1) tmp
FROM 资源表 AS a, 用户表 AS b
WHERE b.uid = xxx AND (a.org_orgId = b.org_orgId OR a.isPub = 1);