Dieser Artikel beschreibt anhand eines Beispiels, wie Sie über eine Eins-zu-viele-Abfrage mit mehreren Tabellen in MySQL die aktuellsten Daten abrufen. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: MySQL-Mehrtabellenassoziations-Eins-zu-viele-Abfrage zum Abrufen der neuesten DatenAufgetretene ProblemeMehrere Tabellen werden mit Eins-zu-viele-Abfragen verknüpft, um die neuesten Daten zu erhalten, und die Daten werden wiederholt
DROP TABLE, WENN „Kunde“ EXISTIERT; CREATE TABLE `Kunde` ( `id` BIGINT NOT NULL COMMENT 'Kunden-ID', `real_name` VARCHAR(20) NOT NULL COMMENT 'Kundenname', `create_time` DATETIME NOT NULL COMMENT 'Erstellungszeit', PRIMÄRSCHLÜSSEL (`id`) )ENGINE=INNODB DEFAULT CHARSET = UTF8 COMMENT 'Kundeninformationstabelle'; -- DATEN FÜR TABELLE Kunde INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7717194510959685632', 'Nicht verwenden', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7718605481599623168', 'Nachname', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7720804666226278400', 'Benutzer', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7720882041353961472', 'Kundenname', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722233303626055680', 'Baby', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722233895811448832', 'Xiaobao', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722234507982700544', 'Kundenname', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722234927631204352', 'Kundenname', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722235550724423680', 'Anmelden', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722235921488314368', 'Xiao Ming', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722238233975881728', 'Benutzer', '23.01.2019 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722246644138409984', 'Xiaohong', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722318634321346560', 'Schlüssel', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722318674321346586', 'Schlüssel', '2019-01-23 16:23:05'); INSERT INTO `demo`.`customer` (`id`, `real_name`, `create_time`) VALUES ('7722318974421546780', 'Schlüssel', '2019-01-23 16:23:05'); Tabelle löschen, wenn `Bestellinfo` vorhanden ist; CREATE TABLE `order_info` ( `id` BIGINT NOT NULL COMMENT 'Bestell-ID', `Industrie` VARCHAR(255) DEFAULT NULL COMMENT 'Industrie', `nature_tax` VARCHAR(255) DEFAULT NULL COMMENT 'Steuernatur', `customer_id` VARCHAR(20) NOT NULL COMMENT 'Kunden-ID', `create_time` DATETIME NOT NULL COMMENT 'Erstellungszeit', PRIMÄRSCHLÜSSEL (`id`) )ENGINE=INNODB DEFAULT CHARSET = UTF8 COMMENT 'Bestellinformationstabelle'; -- DATEN FÜR TABELLE order_info INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700163609453207552', 'Gastronomie und Hotel', 'kleiner Maßstab', '7717194510959685632', '23.01.2019 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700163609453207553', 'Gastronomie und Hotel', 'kleiner Maßstab', '7717194510959685632', '23.01.2019 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700167995646615552', 'High-Tech', 'Allgemeiner Steuerzahler', '7718605481599623168', '23.01.2019 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700167995646615553', 'Handel', 'Allgemeiner Steuerzahler', '7718605481599623168', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700193633216569344', 'Handel', 'Allgemeiner Steuerzahler', '7720804666226278400', '2019-01-23 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700193633216569345', 'High-Tech', 'Allgemeiner Steuerzahler', '7720804666226278400', '23.01.2019 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700197875671179264', 'Kategorie Gastronomie und Hotellerie', 'allgemeiner Steuerzahler', '7720882041353961472', '23.01.2019 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7700197875671179266', 'Kategorie Gastronomie und Hotellerie', 'allgemeiner Steuerzahler', '7720882041353961472', '23.01.2019 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7703053372673171456', 'Hightech', 'Kleiner Maßstab', '7722233303626055680', '23.01.2019 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7703053372673171457', 'Hightech', 'Kleiner Maßstab', '7722233303626055680', '23.01.2019 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709742385262698496', 'Servicekategorie', 'Allgemeiner Steuerzahler', '7722233895811448832', '2019-01-23 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709742385262698498', 'Servicekategorie', 'Allgemeiner Steuerzahler', '7722233895811448832', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745055683780608', 'High-Tech', 'Kleiner Maßstab', '7722234507982700544', '2019-01-23 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745055683780609', 'Import und Export', 'Kleiner Maßstab', '7722234507982700544', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745249439653888', 'Kultur und Sport', 'Allgemeiner Steuerzahler', '7722234927631204352', '2019-01-24 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745249439653889', 'High-Tech', 'Allgemeiner Steuerzahler', '7722234927631204352', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745453266051072', 'High-Tech', 'Kleiner Maßstab', '7722235550724423680', '2019-01-24 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745453266051073', 'Kultur und Sport', 'Kleiner Maßstab', '7722235550724423680', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745539848413184', 'Technologie', 'Allgemeiner Steuerzahler', '7722235921488314368', '2019-01-24 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745539848413185', 'High-Tech', 'Allgemeiner Steuerzahler', '7722235921488314368', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745652603887616', 'High-Tech', 'Allgemeiner Steuerzahler', '7722238233975881728', '2019-01-24 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745652603887617', 'Technologie', 'Allgemeiner Steuerzahler', '7722238233975881728', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745755528568832', 'Import und Export', 'Allgemeiner Steuerzahler', '7722246644138409984', '2019-01-24 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745755528568833', 'Bildungsberatung', 'Kleiner Maßstab', '7722246644138409984', '23.01.2019 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745892539047936', 'Bildungsberatung', 'Allgemeiner Steuerzahler', '7722318634321346560', '24.01.2019 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709745892539047937', 'Import und Export', 'Allgemeiner Steuerzahler', '7722318634321346560', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709746000127139840', 'Produktion', 'Kleiner Maßstab', '7722318674321346586', '2019-01-24 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709746000127139841', 'Landwirtschaft', 'Allgemeiner Steuerzahler', '7722318674321346586', '2019-01-23 17:09:53'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709746447445467136', 'Landwirtschaft', 'Allgemeiner Steuerzahler', '7722318974421546780', '24.01.2019 16:54:25'); INSERT INTO `demo`.`order_info` (`id`, `industry`, `nature_tax`, `customer_id`, `create_time`) VALUES ('7709746447445467137', 'Produktion', 'Kleiner Maßstab', '7722318974421546780', '23.01.2019 17:09:53');
UPDATE Bestellinfo SET Erstellungszeitpunkt = JETZT();
WÄHLEN cr.id, cr.realer_name, oi.industrie, oi.nature_tax AUS Kunde AS cr LINKS VERBINDEN ( SELECT a.industry, a.nature_tax, a.customer_id, a.create_time FROM order_info AS a LINKS VERBINDEN ( SELECT MAX(Erstellungszeit) AS Erstellungszeit, Kunden-ID FROM Bestellinfo GROUP BY Kunden-ID ) AS b ON a.customer_id = b.customer_id WO a.Erstellungszeit = b.Erstellungszeit ) AS oi ON oi.customer_id = cr.id GRUPPE NACH cr.id;
WÄHLEN cr.id, cr.realer_name, oi.industrie, oi.nature_tax AUS Kunde AS cr LINKS VERBINDEN ( SELECT a.industry, a.nature_tax, a.customer_id, a.create_time FROM order_info AS a LINKS VERBINDEN ( SELECT MAX(Erstellungszeit) AS Erstellungszeit, Kunden-ID FROM Bestellinfo GROUP BY Kunden-ID ) AS b ON a.customer_id = b.customer_id WO a.Erstellungszeit = b.Erstellungszeit ) AS oi ON oi.customer_id = cr.id GRUPPE NACH cr.id MIT ANZAHL(cr.id) >= 2;
WÄHLEN cr.id, cr.realer_name, oi.industrie, oi.nature_tax AUS Kunde AS cr LINKS VERBINDEN ( SELECT a.industry, a.nature_tax, a.customer_id, a.create_time FROM order_info AS a LINKS VERBINDEN ( SELECT MAX(id) AS id, Kunden-ID FROM Bestellinfo GROUP BY Kunden-ID ) AS b ON a.customer_id = b.customer_id WO a.id = b.id ) ALS oi EIN oi.customer_id = cr.id;
Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: js realisiert bidirektionale Datenbindung (Accessor-Überwachung)
>>: Aufbau einer Docker+K8S-Clusterumgebung und verteilte Anwendungsbereitstellung
Das Löschen einer Tabelle kommt nicht sehr häufig...
Installieren Sie zuerst die abhängigen Pakete, um...
Inhaltsverzeichnis 1. Hintergrund 2. Was ist ein ...
Es ist eine sehr häufige Anforderung, die horizon...
1. Bearbeiten Sie die PAM-Konfigurationsdatei sud...
Inhaltsverzeichnis Was ist ein binärer Suchbaum (...
Inhaltsverzeichnis 1. Kommentare zu MySQL-Primärs...
Inhaltsverzeichnis Anwendungsszenarien So erreich...
Detaillierte Erklärung und Beispiele zur Passwort...
Inhaltsverzeichnis Vorwort 1. Welche Variablen we...
ant-design-vue passt die Verwendung von Ali Iconf...
lass Utils = { /** * Ist es das Todesjahr? * @ret...
Manchmal müssen wir Programme auf dem Windows-Sys...
Wird UPDATE gesperrt? Wird die SQL-Anweisung gesp...
Inhaltsverzeichnis Vom Vater zum Sohn Vom Sohn zu...