DECLARE L_I INT; BEGIN SELECT COUNT(1) INTO L_I FROM A, B WHERE A.A2 = B.B2 AND A.A3 = B.B3 AND A.A4 = B.B4 AND ROWNUM = 1; IF L_I > 0 THEN DBMS_OUTPUT.PUT_LINE('TRUE'); ELSE DBMS_OUTPUT.PUT_LINE('false'); END IF; END; /
SELECT DECODE(SUM(CNT),'0','TRUE','FALSE') FROM ( SELECT COUNT(1) CNT FROM B WHERE NOT EXISTS( SELECT 1 FROM A WHERE B2=A2 AND B3=A3 AND B4=A4 ) UNION ALL SELECT COUNT(1) CNT FROM A WHERE NOT EXISTS( SELECT 1 FROM B WHERE B2=A2 AND B3=A3 AND B4=A4 ) ) A;
select decode((case when a.a2 = b.a2 then 0 else 1 end) + (case when a.a3 = b.a3 then 0 else 1 end) + (case when a.a4 = b.a4 then 0 else 1 end), 0, 'true', 'false') from a, b
L_I INT;
BEGIN
SELECT COUNT(1)
INTO L_I
FROM A, B
WHERE A.A2 = B.B2
AND A.A3 = B.B3
AND A.A4 = B.B4
AND ROWNUM = 1;
IF L_I > 0 THEN
DBMS_OUTPUT.PUT_LINE('TRUE');
ELSE
DBMS_OUTPUT.PUT_LINE('false');
END IF;
END;
/
SELECT DECODE(SUM(CNT),'0','TRUE','FALSE') FROM (
SELECT COUNT(1) CNT FROM B WHERE NOT EXISTS(
SELECT 1 FROM A WHERE B2=A2 AND B3=A3 AND B4=A4
)
UNION ALL
SELECT COUNT(1) CNT FROM A WHERE NOT EXISTS(
SELECT 1 FROM B WHERE B2=A2 AND B3=A3 AND B4=A4
)
) A;
when a.a2 = b.a2 then
0
else
1
end) + (case
when a.a3 = b.a3 then
0
else
1
end) + (case
when a.a4 = b.a4 then
0
else
1
end),
0,
'true',
'false')
from a, b
intersect
select b2,b3,b4返回俩个表相同的数据。
希望对你能用。