有三个表。
t1:字段为 No,X,Y No为Key ,string型, x、y double 型
t2:字段为 No,S1,S2 No为Key ,string型, S1、S2 double 型, 始终 S1<S2
t3:字段为 No,Se,Hd,Cw No为Key ,string型, Se、Hd double 型,Cw string型
现要查询输出:No,X,Y,Z
条件是:1. 三个表都拥有同一个No的,并且搜索时指定 No值 LIKE 'm%'
2. 指定 Cw = '指定值'3. 要输出的 Z 值是 t2表的 SUM(S2-S1)
4. t2.S1>=(t3.Se-Hd) 并且 t2.S2<=t3.Se怎么写这个SQL语句?另外,有没有如何写联合查询sql的相关资料学习下???
t1:字段为 No,X,Y No为Key ,string型, x、y double 型
t2:字段为 No,S1,S2 No为Key ,string型, S1、S2 double 型, 始终 S1<S2
t3:字段为 No,Se,Hd,Cw No为Key ,string型, Se、Hd double 型,Cw string型
现要查询输出:No,X,Y,Z
条件是:1. 三个表都拥有同一个No的,并且搜索时指定 No值 LIKE 'm%'
2. 指定 Cw = '指定值'3. 要输出的 Z 值是 t2表的 SUM(S2-S1)
4. t2.S1>=(t3.Se-Hd) 并且 t2.S2<=t3.Se怎么写这个SQL语句?另外,有没有如何写联合查询sql的相关资料学习下???
解决方案 »
- ORA-00907: 缺少右括号??TOAD,SQL*Plus里能执行
- 求助:关于left join ,group by 及子查询的效率问题
- Oracle 如何同时查询出多个表来
- 在SQL Server环境下如何实现这个功能
- 如何在 oracle 中 调用 外部的程序?
- 求一条 SQL 语句,谢谢
- 装完8i(8.1.6.7)后为什么没有diagnostics pack?
- ORACLE中的*.LOC文件是做什么用的?在线等待.
- oracle8.17问题急!!!!!!!!!!!!!!!!!!!
- sql语句的优化,查询效率低
- shiyiwan朋友看到的话进来一下
- 请教一个拼路径的存储过程,谢谢各位了.
t1.x,
t1.y,
sum(t2.s2 - t2.s1)
from t1,
t2,
t3
where t1.no = t2.no
and t2.no = t3.no
and t3.cw = 'inputvalue'
and t2.S1 >= (t3.Se - t3.Hd)
and t2.S2 <= t3.Se
and t3.no like 'm%'
group by t1.no,
t1.x,
t1.y;
1。 t1是编号表 记录了 编号no, 及相关信息x,y
2。 t3是一个米尺上的长度段,开始长度是 Se-Hd, 结束长度是Se, 这个段的名称 是 cw。
3. t2记录了很多的小段开始刻度是 s1,结束刻度是s2所以可以这样想象,
t1记录了很多编号为no的米尺。
t2记录了编号no的米尺上的很多长度段(Se-hd,se)。
t3是很多编号no的米尺上的更小段(S1,S2)要查找编号no米尺上的同属于一个大的长度段(t3.cw)内所有小段的距离和值(t2.S2-t2.s1)
t1.x,
t1.y,
sum(t2.s2 - t2.s1)
from t1,
t2
where t1.no = t2.no
and t2.S1 >= (t3.Se - t3.Hd)
and t2.S2 <= t3.Se
and t1.no like 'm%'
and exists (select 1 from t3
where t2.no = t1.no
and t2.S1 >= (t3.Se- t3.Hd)
and t3.cw = 'inputvalue')
group by t1.no,
t1.x,
t1.y;
shiyiwan