谢谢,如果有三个字段需要判断呢? 如: A.name1=B.name and A.id1=B.name1 and A.add1=B.add
select ... from table1 A,table2 B where decode(B.id,A.id1,decode(B.name,A.name1,A.add1), A.id2,decode(B.name,A.name2,A.add2), A.id3,decode(B.name,A.name3,A.add3), ...)=B.add
SELECT ..... FROM table1 A,table2 B WHERE A.name1=B.NAME AND A.id1=B.name1 AND A.add1=B.ADD UNION ALL SELECT ..... FROM table1 A,table2 B WHERE A.name2=B.NAME AND A.id2=B.name1 AND A.add2=B.ADD UNION ALL SELECT ..... FROM table1 A,table2 B WHERE A.name3=B.NAME AND A.id3=B.name1 AND A.add3=B.ADD
如:
A.name1=B.name and A.id1=B.name1 and A.add1=B.add
...
from
table1 A,table2 B
where
decode(B.id,A.id1,decode(B.name,A.name1,A.add1),
A.id2,decode(B.name,A.name2,A.add2),
A.id3,decode(B.name,A.name3,A.add3),
...)=B.add
因为字段名类似(如name1,name2....),能不能直接进行判断!!
谢谢
请帮帮忙了!
WHERE A.name1=B.NAME AND A.id1=B.name1 AND A.add1=B.ADD
UNION ALL
SELECT ..... FROM table1 A,table2 B
WHERE A.name2=B.NAME AND A.id2=B.name1 AND A.add2=B.ADD
UNION ALL
SELECT ..... FROM table1 A,table2 B
WHERE A.name3=B.NAME AND A.id3=B.name1 AND A.add3=B.ADD
这里有不少优化的文档,可以看看