有两个表:管线运行记录和管线瞬时运行
管线运行记录的字段:管线名称, 生产日期, 管理单位, 起点站名, 起点气量, 末点站名, 末站气量
管线瞬时运行的字段:管线名称, 生产日期, 录取时间, 起点站名, 末点站名, 起点压力, 起点温度, 末点压力, 末点温度
两个表中管线名称,起点站名,末点站名为相同字段。 现在我需要从两个表中查询数据,从管线运行记录中查询出某个日期的管线名称, 生产日期, 管理单位, 起点站名, 起点气量, 末点站名, 末站气量记录,再将管线瞬时运行中的查出相同管线,相同日期,录取时间为23点的起点压力, 起点温度, 末点压力, 末点温度,添加到第一个查询结果中,需得到下面的查询结果: 管线名称, 生产日期, 管理单位, 起点站名, 起点气量, 末点站名, 末站气量,起点压力, 起点温度, 末点压力, 末点温度
其中粗体的字段为管线瞬时运行中的字段。请问SQL语句如何写! 我写的查询语句是:
select r.生产日期,r.管线名称,r.管理单位,r.起点站名,r.起点气量,r.末点站名,r.末站气量,s.起点压力,s.起点温度,s.末点压力,s.末点温度 from 管线运行记录 r, 管线瞬时运行 s where r.管线名称=s.管线名称 and s.录取时间=23 and r.生产日期=to_date('2008-04-08','yyyy-MM-dd') and s.生产日期=to_date('2008-04-08','yyyy-MM-dd') 本来一条管线应该是两条记录,一条起点录入的,一条末点录入的,查询出来有4条,有两条重复的!
2 2008-4-8 东明开封线377 输气管理六区 东明增压站 46.4997 0.51
3 2008-4-8 东明开封线377 输气管理六区 开封配气站 44.6685 0.51
4 2008-4-8 东明开封线377 输气管理六区 东明增压站 46.4997
5 2008-4-8 东明开封线377 输气管理六区 开封配气站 44.6685
管线运行记录的字段:管线名称, 生产日期, 管理单位, 起点站名, 起点气量, 末点站名, 末站气量
管线瞬时运行的字段:管线名称, 生产日期, 录取时间, 起点站名, 末点站名, 起点压力, 起点温度, 末点压力, 末点温度
两个表中管线名称,起点站名,末点站名为相同字段。 现在我需要从两个表中查询数据,从管线运行记录中查询出某个日期的管线名称, 生产日期, 管理单位, 起点站名, 起点气量, 末点站名, 末站气量记录,再将管线瞬时运行中的查出相同管线,相同日期,录取时间为23点的起点压力, 起点温度, 末点压力, 末点温度,添加到第一个查询结果中,需得到下面的查询结果: 管线名称, 生产日期, 管理单位, 起点站名, 起点气量, 末点站名, 末站气量,起点压力, 起点温度, 末点压力, 末点温度
其中粗体的字段为管线瞬时运行中的字段。请问SQL语句如何写! 我写的查询语句是:
select r.生产日期,r.管线名称,r.管理单位,r.起点站名,r.起点气量,r.末点站名,r.末站气量,s.起点压力,s.起点温度,s.末点压力,s.末点温度 from 管线运行记录 r, 管线瞬时运行 s where r.管线名称=s.管线名称 and s.录取时间=23 and r.生产日期=to_date('2008-04-08','yyyy-MM-dd') and s.生产日期=to_date('2008-04-08','yyyy-MM-dd') 本来一条管线应该是两条记录,一条起点录入的,一条末点录入的,查询出来有4条,有两条重复的!
2 2008-4-8 东明开封线377 输气管理六区 东明增压站 46.4997 0.51
3 2008-4-8 东明开封线377 输气管理六区 开封配气站 44.6685 0.51
4 2008-4-8 东明开封线377 输气管理六区 东明增压站 46.4997
5 2008-4-8 东明开封线377 输气管理六区 开封配气站 44.6685
改为
and r.生产日期=s.生产日期 and s.生产日期=to_date('2008-04-08','yyyy-MM-dd')
看看
估计是因为你的管线名称 不是唯一的,(管线名称,起点站名,末点站名) 3键才是唯一的吧??