两句sql合并sql 1select pgdwgms.dwg_no, pgdwgms.dwg_rev, pgdwgms.isse_nofrom pgdwgms, pgappref where
两句sql合并
sql 1
select pgdwgms.dwg_no, pgdwgms.dwg_rev, pgdwgms.isse_no
from pgdwgms, pgappref
where pgdwgms.acur_fg = '1'
and pgdwgms.status > '7'
and (PGAPPREF.upd_who = '0032' and PGAPPREF.table_no = '2' and
PGAPPREF.record_type = '1' and pgappref.seq_no = pgdwgms.seq_no )
order by pgdwgms.dwg_no, pgdwgms.dwg_rev
sql2
select pgdwgms.dwg_no, pgdwgms.dwg_rev, pgdwgms.isse_no
from pgdwgms, pgappref, pgissetr
where pgdwgms.acur_fg = '1'
and pgdwgms.status > '7'
and ((instr(PGAPPREF.upd_who, '0') = 1 and table_no = '1' and
record_type = '4')
and pgappref.seq_no = pgissetr.seq_no
and pgissetr.isse_no = pgdwgms.isse_no)
order by pgdwgms.dwg_no, pgdwgms.dwg_rev
如何找两句共同值,不要用inner join语句,TKS
[最优解释]
intersect
[其他解释]
union all
[其他解释]
交集 就是 intersect
sql1
intersect
seql2
intersect
sql3
intersect
sql4
.....
[其他解释]
不明白楼主的意思。。。。两条语句intersect一下会很臃肿?
[其他解释]
union all
[其他解释]
呵呵,最简单的方法,是用minus
[其他解释]
这种方法不适合我的程序,我程序中是判断多条件,根据条件拼接sql
[其他解释]
例如满足条件一时sql是sql1(后面的order by 去掉),在sql1基础去写条件2,如果用sql1 minus sql2,出现条件三就不好处理了
[其他解释]
select pgdwgms.dwg_no, pgdwgms.dwg_rev, pgdwgms.isse_no
from pgdwgms, pgappref
where pgdwgms.acur_fg = '1'
and pgdwgms.status > '7'
and ((条件一 and (PGAPPREF.upd_who = '0032' and PGAPPREF.table_no = '2' and
PGAPPREF.record_type = '1' and pgappref.seq_no = pgdwgms.seq_no )
or --增加this
(条件二 and ((instr(PGAPPREF.upd_who, '0') = 1 and table_no = '1' and
record_type = '4')
and pgappref.seq_no = pgissetr.seq_no
and pgissetr.isse_no = pgdwgms.isse_no))
[其他解释]
TKS
需要的是交集,但给OR改成“and”结果又为空值了
[其他解释]
sql1
intersect
seql2
不想这么写,如果这么写,我的最终sql很臃肿
[其他解释]
还是用intersect吧,谢谢各位
