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
Unten sehen Sie den Code, den Shiji Tiancheng ver...
Dieser Artikel fasst die Hinweise zur Installatio...
Ich habe zuvor zum Einstieg in UDP ein einfaches ...
Vorwort Für das Projekt ist ein kreisförmiges Men...
In diesem Artikel wird der spezifische Code zum Z...
In der MySQL-Datenbank ist Null eine häufige Situ...
Die Version Mysql5.7.19 ist eine neue Version, di...
eins. Warum einen privaten Nexus-Server erstellen...
Öffnen Sie das dekomprimierte Verzeichnis von Tom...
In diesem Artikel wird die Installations- und Kon...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikel wird ein JS-Spezialeffekt vorge...
Aktivieren Sie den Dienst, wenn Sie ihn benötigen...
Vorwort Normaler Geschäftsbedarf: Hochladen von B...
1. Schritte zur Installation des RPM-Pakets: 1. S...