Mysql mehrere unabhängige Tabellen Abfragedaten und PagingFunktionale AnforderungenNehmen Sie die gewünschten Daten aus drei Tabellen ohne Primär- und Fremdschlüsselzuordnungen und paginieren Sie sie. DatenbanktabellenstrukturObsttisch: Nüsse Tabelle: Getränkekarte: Der Aufbau der Datenbank kann beliebig erfolgen, wichtig ist die Methode. Verwenden Sie hauptsächlich den UNION ALL-OperatorDer Operator UNION ALL wird verwendet, um die Ergebnismengen von zwei oder mehr SELECT-Anweisungen zu kombinieren. Beachten Sie, dass die SELECT-Anweisungen innerhalb von UNION ALL die gleiche Spaltenanzahl haben müssen. Spalten müssen außerdem ähnliche Datentypen aufweisen. Darüber hinaus muss die Reihenfolge der Spalten in jeder SELECT-Anweisung dieselbe sein; außerdem sind die Spaltennamen im UNION ALL-Ergebnissatz immer identisch mit den Spaltennamen in der ersten SELECT-Anweisung in UNION ALL. //Detaillierte SQL-Anweisung select * FROM ( (Wählen Sie FID, FName, Preis und Art aus Früchten aus) UNION ALLE (Wählen Sie nid,name,price,6 als Typ aus nut) UNION ALLE (wählen Sie did,dname,price,7 als Typ aus Getränken aus) ) als fnd-Limit 0,10 -----fnd ist der Alias der Tabelle EndergebnisLösung für das Paging-Problem bei der Abfrage mehrerer Tabellen in MySQLMySQL Eins-zu-viele-Paging-ProblemAbteilungstabelle: tbl_dept Mitarbeitertabelle: tbl_emp Datenbank-SQL-Datei DATENBANK ERSTELLEN /*!32312 WENN NICHT VORHANDEN */`ssm-crud` /*!40100 STANDARDZEICHENSATZ utf8 */; VERWENDEN Sie „ssm-crud“; /*Tabellenstruktur für Tabelle `tbl_dept` */ Tabelle löschen, wenn `tbl_dept` vorhanden ist; Tabelle „tbl_dept“ erstellen ( `dept_id` int(11) NICHT NULL AUTO_INCREMENT, `Abteilungsname` varchar(255) DEFAULT NULL, PRIMÄRSCHLÜSSEL (`dept_id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; /*Daten für die Tabelle `tbl_dept` */ in `tbl_dept`(`dept_id`,`dept_name`) Werte einfügen (1,'Technische Abteilung'), (2,'Wirtschaftsabteilung'), (6, „Verkaufsabteilung“), (7, „Personalabteilung“); /*Tabellenstruktur für Tabelle `tbl_emp` */ Tabelle löschen, wenn `tbl_emp` vorhanden ist; TABELLE ERSTELLEN `tbl_emp` ( `emp_id` int(11) NICHT NULL AUTO_INCREMENT, `emp_name` varchar(255) DEFAULT NULL, `emp_gender` char(1) DEFAULT NULL, `emp_email` varchar(255) DEFAULT NULL, `d_id` int(11) DEFAULT NULL, PRIMÄRSCHLÜSSEL (`emp_id`), SCHLÜSSEL `FK_tbl_emp` (`d_id`), EINSCHRÄNKUNG `FK_tbl_emp` FREMDER SCHLÜSSEL (`d_id`) REFERENZEN `tbl_dept` (`dept_id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; /*Daten für die Tabelle `tbl_emp` */ in Werte `tbl_emp`(`emp_id`,`emp_name`,`emp_gender`,`emp_email`,`d_id`) einfügen (1,'xiaoshen','2',NULL,6), (4,'Xiaoming','1',NULL,1), (5,'xiaohong','2',NULL,2), (6,'xiaohei','2',NULL,6), (7,'xiaozhang','1',NULL,1), (8,'xiaogao','1',NULL,1), (9,'xiaohua','1',NULL,1), (10,'xiaoyan','2',NULL,1), (11,'xiaohai','2',NULL,2), (12,'xiaoqiang','1',NULL,6), (13,'xiaoqi','2',NULL,7); Paging-Fehler beim Schreiben der Methode (Hauptabfrage-Mitarbeitertabelle) Wählen Sie * aus tbl_emp e LINKS VERBINDEN tbl_dept d EIN d.dept_id = e.d_id GRENZE 1,10 Lösen Sie das Problem mithilfe einer Unterabfrage WÄHLEN * AUS ( WÄHLEN * AUS tbl_emp e LINKS VERBINDEN tbl_dept d EIN d.dept_id = e.d_id GRUPPE NACH e.d_id GRENZE 1,10 ) LINKS JOIN tbl_dept d EIN d.dept_id = e.d_id Der folgende Code ist irrelevant und dient nur zur Sicherung WÄHLEN ft.id, ft.partner_id AS Partner-ID, ft.code, ft.end_update_date AS endUpdateDate, ft.name , ft.Typ, ft.Fläche, ft.is_default AS istStandard, fp.id fpId, fp.shop_id AS fpShopId , fp.provice_id AS fpProviceId , fp.provice_name AS fpProviceName , fp.start_num AS fpStartNum , fp.start_fee AS fpStartFee , fp.increase_num AS fpIncreaseNum , fp.increase_fee AS fpIncreaseFee, fp.code AS fpCode, fp.provice_text AS fpProviceText , fp.template_id AS fpTemplateId AUS ( WÄHLEN f.id, f.partner_id , f.Code, f.end_update_date , f.name , f.Typ, f.Bereich, f.ist_standardmäßig, f.is_del, f.Erstellungsdatum AUS bus_freight_template f LINKS JOIN bus_freight_provice p EIN f.id = p.template_id WO f.code = p.code UND f.code = #[code] GROUP BY f.id LIMIT #{startPage},#{pageSize} ) Fuß LINKS JOIN bus_freight_provice fp EIN ft.id = fp.template_id WO ft.code = fp.code UND fp.template_id IST NICHT NULL UND ft.code = #[code] UND fp.is_del = '0' UND ft.is_del = '0' Sortieren nach ft.create_date desc Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
>>: js-Simulation, um den Effekt der Bildvergrößerung auf der Jingdong-Detailseite zu erzielen
Inhaltsverzeichnis Unsinn Implementierte Funktion...
Bevor wir über OO, Entwurfsmuster und die vielen o...
Was ist WSL Zitat aus der Baidu-Enzyklopädie: Das...
Was ist MyCAT Ein vollständig Open Source-Großdat...
Vorwort Für Datei- oder Verzeichnisberechtigungen...
Code kopieren Der Code lautet wie folgt: <!DOC...
Vor Kurzem musste ich das Projekt für die Mitglie...
Wie definiert man komplexe Komponenten (Klassenko...
Der erste Schritt besteht darin, die Versionsnumm...
https://docs.microsoft.com/en-us/windows/wsl/wsl-...
Vorwort Bei der täglichen Codeentwicklung gibt es...
1. Bereiten Sie die Docker-Umgebung vor 2. Suchen...
Fehlerbeschreibung percona5.6, mysqldump vollstän...
Wenn Sie beim Erstellen einer Webseite eine besti...
Dieser Artikel stellt hauptsächlich die Lösung fü...