Unten ist meine postal
Tabelle mit ein paar Aufzeichnungen. Tatsächlich enthält diese Tabelle alle Städte und alle Postleitzahlen.Wählen Sie Datensätze basierend auf der Postleitzahl und ihrem Radius in MySQL
id city postalcode latitude longitude
1 Drogteropslagen 7705 PA 52.61666700 6.50000000
2 Coevorden 7740 AA 52.66666700 6.75000000
3 Emmen 7812 TN 52.78333300 6.90000000
4 Emmer-Compascuum 7881 PZ 52.81666700 7.05000000
5 Nieuw-Dordrecht 7885 AA 52.75000000 6.96666700
Unten ist meine company
Tabelle mit ihm Postleitzahl und der Radius in Kilometer sind, wo jedes Unternehmen in der Lage ist, seine Dienstleistungen zu erbringen.
id company_name city postalcode radius latitude longitude
1 A Emmen 7812 TN 10 52.78333300 6.90000000
2 B Nieuw-Dordrecht 7885 AA 5 52.75000000 6.96666700
3 C Drogteropslagen 7705 PA 25 52.61666700 6.50000000
4 D Foxhol 9607 PR 0 53.16666700 6.71666700
5 E Westerbroek 9608 PA 15 53.18333300 6.68333300
Ich möchte die Unternehmen, die eine bestimmte Postleitzahl z. 7740 AA
lebt im Bereich der Postleitzahl plus dem Radius einer Firma. Beachten Sie, dass die bestimmte Postleitzahl möglicherweise nicht immer in der Tabelle company
vorhanden ist, aber immer in der Tabelle postal
vorhanden ist. Wie schreibe ich eine SQL-Abfrage, um diese Unternehmen auszuwählen.
Beginnen Sie mit einem Distanzalgorithmus – Strawberry
@Strawberry Es wird kein Algorithmus benötigt, da er (intelligent) bereits den Längen- und Breitengrad für jede Firma zwischenspeichert. Stattdessen kann er die Entfernung mit der Havesine-Formel bestimmen. –
Ok. Verwenden Sie einen Algorithmus, der nur aus einem einzigen Schritt besteht. – Strawberry