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
Laut canisue (http://caniuse.com/#search=border-r...
Zum Beginn des neuen Jahres möchte ich meinen Fre...
Inhaltsverzeichnis Lastenausgleich Klassifizierun...
Über die Baumdarstellung von Vue wird im Projekt ...
Inhaltsverzeichnis 1. Sichern Sie die alten MySQL...
<!DOCTYPE html> <html lang="de"...
Der erste Schritt besteht darin, die kostenlose I...
Vor Kurzem habe ich das Problem gelöst, dass Dock...
Kürzlich habe ich bei der Arbeit an einem Projekt...
Der benutzerdefinierte Kapselungscode der Vue-But...
1. Installation des MySQL RPM-Pakets # Laden Sie ...
Inhaltsverzeichnis Mausgelenk Mausgelenk AbstandG...
Der Befehl „Find“ wird hauptsächlich zum Suchen v...
Im vorherigen Artikel https://www.jb51.net/articl...
Vorwort Kürzlich bin ich beim Upgrade von MySQL 5...