SQL-Zusammenführungsvorgang von Abfrageergebnissen von Tabellen mit unterschiedlichen Spalten

SQL-Zusammenführungsvorgang von Abfrageergebnissen von Tabellen mit unterschiedlichen Spalten

Um zwei verschiedene Tabellen abzufragen, müssen Sie die Ergebnisse zusammenführen.

Beispielsweise sind die Spalten von Tabelle1 id, user_id, type_id, pro_id;

Die Spalten von Tabelle 2 sind id, user_id und collect_id, wie in der folgenden Abbildung dargestellt.

Tabelle 1:

Tabelle 2:

Die Abfrageanweisung, die die Abfrageergebnisse der beiden Tabellen zusammenführt, lautet

Wählen Sie *, null als Collect_ID aus Tabelle1, wobei Benutzer-ID = 527 ist.
Union
Wählen Sie ID, Benutzer-ID, null als Typ-ID, null als Pro-ID, sammeln Sie die ID aus Tabelle 2, wo Benutzer-ID = 527;

Das Ergebnis ist:

Tatsächlich wird die entsprechende Spalte der Tabelle hinzugefügt, die diese Spalte nicht hat. Im Beispiel wird collect_id zu table1 hinzugefügt.

Fügen Sie type_id und pro_id zu Tabelle2 hinzu.

Zusatzwissen: SQL-Ergebnismenge und Verwendung von „Union All“, um Spalten aus verschiedenen Tabellen mit „Join“ zu kombinieren

Der Ergebnissatz wird mit „Union All“ kombiniert und Spalten aus verschiedenen Tabellen werden mit „Join“ kombiniert.

WÄHLEN
"Modulname",
"Ereigniscode",
„Anzahl der Klicks“,
„Nutzungszeit (Einheit: Minuten)“
AUS

(WÄHLEN 
T.fun_name als "Modulname",
T.event_code als "Ereigniscode",
SUM(click_records) als „Anzahl der Klicks“
AUS 
(SELECT m.* FROM default.daily_new_clientrpt_master m WHERE event_id in ( SELECT max(event_id) AS "event" from default.daily_new_clientrpt_master group by user_name,fun_code ORDER BY "event" DESC ) ) T wobei Tag = heute() GROUP BY "Modulname", "Ereigniscode") T5
VERBINDEN
(
WÄHLEN 
T.fun_name als "Modulname",
T.event_code als "Ereigniscode",
Runde (Summe (Aufenthaltszeit)/60000,0) als „Nutzungszeit (Einheit: Minuten)“
AUS 
(SELECT m.* FROM default.daily_new_clientrpt_master m WHERE event_id in 
 ( 
 SELECT "Ereignis" FROM (
 SELECT max(event_id) AS "event", max(stay_time) AS "event1" from default.daily_new_clientrpt_master group by user_name,fun_code ORDER BY "event1" DESC) )
) 
 T wobei Tag = heute() UND wie(Ereigniscode,'%10000') GRUPPE NACH "Modulname", "Ereigniscode"
) T6 ON T5."Modulname"=T6."Modulname" AND T5."Ereigniscode"=T6."Ereigniscode"

Die obige SQL-Zusammenführungsoperation von Abfrageergebnissen verschiedener Tabellen ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, dass er Ihnen als Referenz dienen kann. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Zusammenfassung von vier Situationen gemeinsamer Abfragen zwischen zwei Tabellen in MySQL
  • Lösen Sie das Problem, dass SQL Server beim Speichern der Objektzeichenfolge in einen eindeutigen Bezeichner fehlschlägt.
  • SQL Server Auto-Increment-ID - Feldoperation zur automatischen Erhöhung der Seriennummer
  • Detaillierte Erläuterung der Identitätsverwendung in SQL Server
  • Tutorial-Diagramm zur kostenlosen 64-Bit-Installationsversion von MySQL 5.7.31
  • SqlServer generiert fortlaufende Nummern gemäß der angegebenen Nummernoperation

<<:  Analysieren Sie den Unterschied zwischen berechnet und beobachtet in Vue

>>:  Drei Möglichkeiten zur Kommunikation zwischen Docker-Containern

Artikel    

Artikel empfehlen

Vergleichstabelle für HTML-Sondersymbole auf Webseiten

Sondersymbole Benannte Entitäten Dezimalkodierung...

Designtheorie: Menschenorientiertes Designkonzept

<br />Als sich das Denken in Ost und West sp...

Detaillierte Erklärung der Speicher-Engine in MySQL

Übersicht über die MySQL-Speicher-Engine Was ist ...

Die am häufigsten verwendete HTML-Escape-Sequenz

In HTML haben <, >, & usw. eine speziell...

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle Tabelle `mysql_...

Linux-Systemaufrufe für Betriebsdateien

Inhaltsverzeichnis 1. Öffnen Sie die Datei Parame...

Einfache Implementierungsmethode der bidirektionalen Datenbindung im JS-Projekt

Inhaltsverzeichnis Vorwort Publish-Subscriber-Mus...