Der umgeschriebene Titel lautet: MySQL-Abfrageanweisungen, die für die Datenbereinigung geeignet sind
P粉413704245
P粉413704245 2023-09-03 18:23:21
0
1
566
<p>Ich habe drei Tische. Eine Tabelle ist eine Reiseentfernungstabelle</p> <pre class="brush:php;toolbar:false;">Tabellenrouten erstellen ( Latte int, slng int, dlat int, dlng int, Abstand int );</pre> <p>Eine Tabelle ist eine Site-Tabelle</p> <pre class="brush:php;toolbar:false;">Tabellenseiten erstellen ( id int, Name varchar(100), Latein int, lng int );</pre> <p>Es gibt auch einen Tisch für Techniker</p> <pre class="brush:php;toolbar:false;">Tabelle fse erstellen ( id int, Name varchar(100), Latein int, lng int );</pre> <p>Die Reiseentfernungstabelle wird dynamisch über Google API-Anfragen gefüllt. Wenn es also neue Haltestellen oder neue Techniker gibt, werden alle neuen Fahrtstrecken über Google abgefragt und in der Routentabelle gespeichert. </p> <p>Natürlich kann es auch vorkommen, dass ein Kunde oder Techniker abreist. In diesem Fall bleiben die Einträge der Distanztabelle auch dann in der Datenbank erhalten, wenn sie nicht mehr verwendet werden. </p> <p>Ich möchte diese nicht verwendeten Zeilen in der Tabelle löschen. Ich suche also nach einer Abfrage, die alle „nicht vorhandenen“ Breiten-/Längengradkombinationen in der Tabelle „Standorte/Techniker“ entfernen kann, wie in den Kommentaren dieser Geige</p> geschrieben. <p>https://www.db-fiddle.com/f/mwF1iyZ7nn8rnDcE8Wstch/0</p> <p>Ich könnte diese Abfrage selbst schreiben, aber meine einzige Lösung besteht darin, eine sehr große Anzahl von Unterabfragen zu verwenden. Aber ich frage mich, ob es einen effizienteren Weg gibt und hoffentlich können die SQL-Experten hier helfen? </p>
P粉413704245
P粉413704245

Antworte allen(1)
P粉546179835

这个查询应该可以工作:

delete from routes where concat (slat,'|', slng) not in (
  select concat(lat ,'|', lng) from sites 
  union  select concat(lat,'|',lng) from fse
) ;

它从表sitesfse中选择所有记录,并删除在子查询中找不到记录的routes表中的行。需要使用两列的concat,因为in只能处理一列。|只是用来分隔值的。

DB-Fiddle

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage