例子:
有一个表 Table1,有两个字段 ACCOUNT_ID CATEGORY_ID.ACCOUNT_ID CATEGORY_NAME
1 a
2 b
3 a
1 c
2 c
4 a
1 e
a对应1.3.4 , c对应1.2.
b只对应2, e只对应1。问题:我想查找 CATEGORY_NAME所对应的ACCOUNT_ID只有一个种类的。就像b只对应2,e只对应1。
就是想找b和e 怎么找????
用selece from where 怎么实现
有一个表 Table1,有两个字段 ACCOUNT_ID CATEGORY_ID.ACCOUNT_ID CATEGORY_NAME
1 a
2 b
3 a
1 c
2 c
4 a
1 e
a对应1.3.4 , c对应1.2.
b只对应2, e只对应1。问题:我想查找 CATEGORY_NAME所对应的ACCOUNT_ID只有一个种类的。就像b只对应2,e只对应1。
就是想找b和e 怎么找????
用selece from where 怎么实现
解决方案 »
- rman远程备份问题!
- 在注册表编辑器里找不到putty
- QQ群:“潍坊IT开发者俱乐部”:5778839;开放互助,欢迎高手加入。
- 9i和10g创建物化视图区别的请教?
- ora-03113 通信通道的文件结束。在线等!!!
- 在sqlldr执行时报ORA-12560 “TNS:协议适配器错误!”
- ORACLE中,根据条件执行相应操作的语句如何写?
- 如何用 pl/sql消除数据库中表的数据冗余?
- 关于blog字段的问题,帮忙必给分
- 如果我的数据表空间大小为4G,所有PK,index放在index表空间,大小该如何呢?怎样创建呢?
- (DBA)如何用sql语句进行“数据比对”?怎么个比对法???
- 求一个多表查询的sql语句
from table1
group by CATEGORY_NAME
having count(distinct ACCOUNT_ID)=1
select * from ta a
where not exists(select 1 from ta b where a.CATEGORY_ID=b.CATEGORY_ID and a.rowid!=b.rowid)
from Table1 a
where not exists(
select 1 from Table1
where CATEGORY_NAME=a.CATEGORY_NAME
and ACCOUNT_ID!=a.ACCOUNT_ID)
from Table1
group by CATEGORY_NAME
having count(distinct ACCOUNT_ID)=1
非常感谢 wildwave的答案,多谢了!!
select CATEGORY_NAME from(
select account_id,CATEGORY_NAME from temp group by account_id,CATEGORY_NAME
) group by CATEGORY_NAME having count(CATEGORY_NAME) = 1
)group by account_id,CATEGORY_NAME