2016-12-09 2 views
-1

Ich habe zwei gleiche Tabellen in zwei verschiedenen Datenbankbibliotheken. Beide Tische haben etwa 150 Spalten. Zu jedem Zeitpunkt wird es nur einen Datensatz/Zeile in beiden Tabellen geben. Ich muss eine Abfrage ausführen, die nur die nicht übereinstimmenden Spalten mit SQL zurückgibt.Nicht übereinstimmende Spalten zweier Tabellen ohne Primärschlüssel anzeigen

Beispiel: Table1

cmp env cust area name.. ... ... ... 
ABC SUN XXXX EARTH xyz 

Table2

cmp env cust area name.. ... ... ... 
ABC MOON XXXX EARTH uvw 

Kann ich ein Ergebnis wie folgt erhalten:

 env name .. .. ... 
Table1 SUN xyz 
Table2 MOON uvw 

Thank you !!

+0

Siehe diesen Link hoffe, es wird helfen http://stackoverflow.com/questions/11767565/mysql-select-rows-from-a-table-that-are-not-in-another –

Antwort

0

Die Antwort ist: Nein, es ist nicht möglich, nicht übereinstimmende Spalten nur im Resultset aufzulisten. Der Grund dafür ist, dass Sie alle Spalten einfügen müssen, die Sie in der Auswahlliste anzeigen möchten, bevor Sie die Abfrage ausführen. Sie können Datensätze mit verschiedenen Filtern, aber nicht mit Feldern aus der Ausgabe ausschließen.

Offensichtlich in einer Anwendung können Sie diese Spalten in der Benutzeroberfläche ausblenden, wo Sie wissen, dass die Feldwerte übereinstimmen, da Sie zu diesem Zeitpunkt bereits wissen, was die zugrunde liegenden Daten sind.

Verwandte Themen