SQL Tabellenvergleich
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
SQL Tabellenvergleich
Hallo Allerseits,
ich möchte auf dem ADS-Server mittels eines SQL-Befehls zwei Tabellen vergleichen
und zwar eine ausgewählte Menge an Spalten. Hat jemand eine Idee?
Uli
ich möchte auf dem ADS-Server mittels eines SQL-Befehls zwei Tabellen vergleichen
und zwar eine ausgewählte Menge an Spalten. Hat jemand eine Idee?
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Re: SQL Tabellenvergleich
Hallo Uli,
was genau möchtest Du vergleichen und wie soll das Ergebnis aussehen?
Hans
was genau möchtest Du vergleichen und wie soll das Ergebnis aussehen?
Hans
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SQL Tabellenvergleich
Hallo Hans,
ich habe 2 Tabellen.
Tabelle 1 mit Feldern RecNo,A,B,C,D
Tabelle 2 mit Feldern RecNo,B,C,D,E
Ich möchte die beiden Tabellen wie folgt vergleichen:
1) Bei gleicher RecNo sollen die Felder B,C,D ebenfalls gleich sein
2) Ist ein Datensatz in einer der Tabellen enthalten, muß er auch in der anderen Tabelle enthalten sein oder vielleicht einfacher ausgedrückt: alle RecNo'n in der einen Tabelle müssen auch in der anderen Tabelle enthalten sein.
Als Ergebnis würde im Prinzip TRUE bzw. FALSE reichen, es könnte jedoch eine Tabelle mit allen Datensätzen, bei denen 1) oder 2) NICHT erfüllt ist, als Ergebnis herauskommen.
Uli
ich habe 2 Tabellen.
Tabelle 1 mit Feldern RecNo,A,B,C,D
Tabelle 2 mit Feldern RecNo,B,C,D,E
Ich möchte die beiden Tabellen wie folgt vergleichen:
1) Bei gleicher RecNo sollen die Felder B,C,D ebenfalls gleich sein
2) Ist ein Datensatz in einer der Tabellen enthalten, muß er auch in der anderen Tabelle enthalten sein oder vielleicht einfacher ausgedrückt: alle RecNo'n in der einen Tabelle müssen auch in der anderen Tabelle enthalten sein.
Als Ergebnis würde im Prinzip TRUE bzw. FALSE reichen, es könnte jedoch eine Tabelle mit allen Datensätzen, bei denen 1) oder 2) NICHT erfüllt ist, als Ergebnis herauskommen.
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Re: SQL Tabellenvergleich
Hallo Uli,
ich bin auch kein SQL-Experte, aber ich denke, die Abfrage müsste in etwa so aussehen:
Falls das Ergebnis nicht Deinen Erwartungen entspricht, solltest Du die Frage in der Advantage.StreamlineSQL-Newsgroup posten. Dort bekommst Du bestimmt eine Lösung.
Schöne Grüße
Hans
ich bin auch kein SQL-Experte, aber ich denke, die Abfrage müsste in etwa so aussehen:
Code: Alles auswählen
select * from table_a where RecNo not in
(select a.RecNo from table_a a, table_b b where a.RecNo = b.RecNo and a.B = b.B and a.C = b.C and a.D = b.D)
Schöne Grüße
Hans
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Re: SQL Tabellenvergleich
Hallo Uli,
noch ein Nachtrag zu meinem vorherigem Posting: mit dieser Query bekommst Du alle Sätze aus Tabelle A zurück, die es in Tabelle B nicht gibt.
Wenn Du auch die Sätze aus Tabelle B brauchst, die es in A nicht gibt, mußt Du natürlich eine zweite, 'umgekehrte' Abfrage erstellen.
Vielleicht läßt sich das auch in einer Abfrage mit einem UNION-Statement erledigen - da mußt Du mal ein bisschen probieren.
Hans
noch ein Nachtrag zu meinem vorherigem Posting: mit dieser Query bekommst Du alle Sätze aus Tabelle A zurück, die es in Tabelle B nicht gibt.
Wenn Du auch die Sätze aus Tabelle B brauchst, die es in A nicht gibt, mußt Du natürlich eine zweite, 'umgekehrte' Abfrage erstellen.
Vielleicht läßt sich das auch in einer Abfrage mit einem UNION-Statement erledigen - da mußt Du mal ein bisschen probieren.
Hans
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SQL Tabellenvergleich
Hallo Hans,
vielen Dank für die Tips.
Ich werde nach Realisierung über Erfolg/Performance berichten.
Noch eine Frage:
Uli
vielen Dank für die Tips.
Ich werde nach Realisierung über Erfolg/Performance berichten.
Noch eine Frage:
Ich habe obige Newsgroup nicht gefunden. Kannst Du mir einen link mitteilen?hschmidt hat geschrieben: Falls das Ergebnis nicht Deinen Erwartungen entspricht, solltest Du die Frage in der Advantage.StreamlineSQL-Newsgroup posten. Dort bekommst Du bestimmt eine Lösung.
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Re: SQL Tabellenvergleich
Hallo Uli,
Dort findest Du gleich auf der 1. Seite den Link zu den Newsgroups. Außerdem gibt es da Downloads der ADS-Versionen, Dokus usw. und eine Suchmöglichkeit in der Knowledgebase und den Newsgroups.
Für jeden, der mit ADS arbeitet, ist diese Seite sehr nützlich!
Hans
am besten gehst Du über http://devzone.advantagedatabase.comUliTs hat geschrieben:Ich habe obige Newsgroup nicht gefunden. Kannst Du mir einen link mitteilen?Uli
Dort findest Du gleich auf der 1. Seite den Link zu den Newsgroups. Außerdem gibt es da Downloads der ADS-Versionen, Dokus usw. und eine Suchmöglichkeit in der Knowledgebase und den Newsgroups.
Für jeden, der mit ADS arbeitet, ist diese Seite sehr nützlich!
Hans