× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



David,

when joining 2 tables you can only compare the key values:

Select a.*, b.*
From Table1 a full outer join Table2 b on a.Key1 = b.Key1 and a.Key2 =
b.Key2 ...

Assumed we have the following tables
Table1:
KeyId Data
1 'ABC'
2 'XXX'
3 'YYY'

Table2:
2 'XXX'
3 'ABC'
4 'ZZZ'

The full outer join will return:
1 ABC NULL NULL
2 XXX 2 XXX
3 YYY 3 ABC
NULL NULL 4 ZZZ

What you know is, that KeyId 2 and 3 are in both tables, but only the rows
with the keyId 2 is identical. For keyId the data are different.

When using EXCEPT and UNION the SQL Statements are merged.
EXECPT returns all rows that are in TableA and not in TableB
UNION merges the rows, but removes duplicates.

When executing the following SQL statement:
(Select * from Table1 Except Select From Table2) Union (Select * From Table2
Except Select * From Table1)

You'll get the following result:
1 ABC
3 YYY
3 ABC
4 ZZZ

The rows with the keyId 2 are not shown because they are identical, but the
rows with the KeyId 3 are listed, because the data is different.


Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"


-----Ursprüngliche Nachricht-----
Von: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von David FOXWELL
Gesendet: Thursday, 10. March 2011 16:09
An: Midrange Systems Technical Discussion
Betreff: RE: Full outer join to show differences


Birgitta do you mean exception join? I ask as you say to merge and not to
join!

Joe, I was already trying IFNULL () but I get an error message.
Charles, thanks I was also trying ISNULL()??? and also getting an error
message!


-----Message d'origine-----
De : midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] De la part de Birgitta Hauser
Envoyé : jeudi 10 mars 2011 15:20
À : 'Midrange Systems Technical Discussion'
Objet : AW: Full outer join to show differences

Hi,

you only want to see the rows that are either different or do
not exist?

IMHO joining is the wrong way, what you need is merging.

The following statement returns all rows that are not identical:

( Select * from Table1
Except
Select * from Table2)
Union
( Select * from Table2
Except
Select * from Table1)


Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the
stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek
Bok) "What is worse than training your staff and losing them?
Not training them and keeping them!"


-----Ursprüngliche Nachricht-----
Von: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von David FOXWELL
Gesendet: Thursday, 10. March 2011 14:39
An: Midrange Systems Technical Discussion
Betreff: Full outer join to show differences

Hi,

I'm comparing 2 tables after a test with a full outer join ie

select * from before b full outer join after a on b.id=a.id

But I only want to see the data that's different in the after
table or not there at all, ie null in that select.

So I add
where a.data<>b.data

This now excludes the missing after lines.

So I need something like

select * from before b full outer join after a on b.id=a.id
where a.data<>b.data or b.data= null

How do I get those null rows?

--
This is the Midrange Systems Technical Discussion
(MIDRANGE-L) mailing list To post a message email:
MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change
list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting,
please take a moment to review the archives at
http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion
(MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.