有3个表1,CS表-保存检查项目信息
检查项目编号 Varchar(3)
检查项目名 Varchar(50)2,HOSP表-保存医院信息
医院编号 Varchar(3)
医院名 Varchar(50)3,CSHP表-保存各个医院能够做的检查项目
医院编号 Varchar(3)
检查项目编号 Varchar(3)现在需要查找能够做CS表中所有检查项目的医院的名字,要求用1条SQL语句
数据量不大,不用过分追求效率。(各表纪录数约 20,100,1500)
检查项目编号 Varchar(3)
检查项目名 Varchar(50)2,HOSP表-保存医院信息
医院编号 Varchar(3)
医院名 Varchar(50)3,CSHP表-保存各个医院能够做的检查项目
医院编号 Varchar(3)
检查项目编号 Varchar(3)现在需要查找能够做CS表中所有检查项目的医院的名字,要求用1条SQL语句
数据量不大,不用过分追求效率。(各表纪录数约 20,100,1500)
解决方案 »
- 在查询或DML中无法执行DDL,提交或回退
- wrap命令是在哪里执行的啊,在SQLPLUS还是操作系统的CMD还是哪里
- 关于简单的Oracle字符处理
- 入门级问题 oracle 11g提供的管理器是web版的?有无类似sqlserver企业管理器的工具?
- exp能够导出用户下的包吗?
- oracle新手,请问大家一个简单问题。
- 急需支持,高分!!!!
- 这个存储过程怎么写,关于字符串的截取
- 遇到了一个比较大的SQL,消耗了我非常多的系统资源,在线等各位大神帮忙指点
- rac中某一节点asm磁盘组无法挂载
- 这句SQL SERVER如何转换成ORACLE?
- 用pl/Sql写一个从1加到10的例子,为啥通不过呢?
proId,proName2: HOSP <table>
hospId,hospName3: CSHP <table>
hospId,proId=========================sql==================== select h.hospName
from HOSP h,
CSHP c,
(
select count(*) cs_count from CS
)cs
where c.hospId = h.hospId
group by c.hospId
having count(*) = cs_count;
FROM CS t1
LEFT OUTER JOIN CSHP t2 ON t1.检查项目编号 = t2.检查项目编号
LEFT OUTER JOIN HOSP t3 ON t2.医院编号 = t3.医院编号
from cs, cshp, hosp
where cs.检查项目编号=cshp.检查项目编号(+) and cshp.医院编号=hosp.医院编号(+)