Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Soprattutto intendi "distanza" come distanza in linea d'aria, o su strada?
    Perchè nel secondo caso diventa un mezzo delirio: devi interrogare (ad esempio) google map per ottenere la distanza effettiva

  2. #2
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Non credo che ti serva "come impostare la query", nel senso che con SQL non fai niente del genere.
    Dovresti prendere tutti gli indirizzi che hai nel db, uno per uno calcolare la distanza dall'indirizzo di riferimento mettendoli ad esempio in un array, ordinare poi tale array in base alla distanza crescente e prendere i primi 3 elementi.

    Ovviamente se hai tantissimi indirizzi non è il massimo delle prestazioni, ma se organizzi bene il db si può rimediare, per esempio se prevedi indirizzi in tutta Italia e sai che l'indirizzo di riferimento è nel Lazio, è inutile che vai a prendere indirizzi che si trovano in Lombardia da confrontare, così già restringi un bel po' le ricerche.
    Quote Originariamente inviata da MySQL Visualizza il messaggio
    Soprattutto intendi "distanza" come distanza in linea d'aria, o su strada?
    Perchè nel secondo caso diventa un mezzo delirio: devi interrogare (ad esempio) google map per ottenere la distanza effettiva
    allora, come distanza intendo x via aerea...
    ho scritto una funzione che interroga google maps e che mi restituisce le coordinate dell'indirizzo che immetto..

    e in rete ho trovato una funzione che mi restituisce la distanza x via aerea tra due punti cardinali... solo che ho parecchi indirizzi dentro al db..

    tempo fa avevo trovato una funzione che tramite ACOS-COS-SIN e RADIUS mi calcolava la distanza direttamente dal db e me li ordinava in una colonna alias.. in questo caso mi basterebbe fare la selezione dei primi tre, ma questa funzione era per MySql e io uso MSSQL

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.