मैंने दो संभावित समाधान देखे।
पहला वाला:
डेटाबेस में प्रत्येक शहर के स्टोर के लिए उसका अक्षांश और देशांतर; जब उपयोगकर्ता को कोई प्रश्न मिलता है, तो आप हर दूसरे शहर के साथ दूरी की गणना करते हैं और परिणाम लौटाते हैं। " href="https://www.movable-type.co.uk/scripts/latlong.html">यहां
आप अक्षांश-देशांतर दूरी कैल्क के लिए सूत्र, नमूने और कोड भी पा सकते हैं...
दूसरा:
एक टेबल बनाएं cities_dist
तीन क्षेत्रों के साथ:city1_id, city2_id, distance
और अपने शहरों के बीच हर संभव संयोजन के अंदर डाल दें। इसके साथ आप एक प्रश्न लिख सकते हैं, जो कि शहर 1_आईडी या शहर 2_आईडी का चयन कर रहा है। यह तालिका जब भी आप अपने डेटाबेस में एक नया शहर सम्मिलित करते हैं।
उपयोगकर्ता की टिप्पणी के बाद संपादित:
कल्पना कीजिए कि आपके पास तीन शहर हैं
ID NAME
1 New York
2 Rome
3 Berlin
वह तालिका इस तरह दिखनी चाहिए
CITY1 CITY2 DIST
1 2 1500
1 3 1200
2 3 400
जब उपयोगकर्ता बर्लिन से उड़ान भरना चाहे तो आप उपयोग कर सकते हैं
SELECT c1.name, c2.name, cd.dist
FROM cities_dist cd
INNER JOIN cities c1 ON cd.city1 = c1.id
INNER JOIN cities c2 ON cd.city2 = c2.id
WHERE cd.city1 = your_id
OR cd.city2 = your_id
ORDER BY cd.dist ASC