मैं नीचे की दूरी कैलक्यूशन बनाने के लिए दो उपक्विरी से अपने कॉलम उपनाम (लैट और एलएनजी) का उपयोग कैसे कर सकता हूं? जो मैं मूल रूप से करने की कोशिश कर रहा हूं वह है कि देशांतर और अक्षांश मानों का उपयोग करके दो स्थानों के बीच की दूरी की गणना करना। लेकिन किसी भी तरह से मेरे उपनाम क्वेरी में प्रयोग योग्य नहीं हैं, क्यों?गणना के लिए MySQL कॉलम उपनाम का उपयोग कैसे करें?
SELECT wp_posts.*,
(SELECT wp_postmeta.meta_value FROM wp_postmeta WHERE wp_postmeta.post_id = wp_posts.ID AND wp_postmeta.meta_value LIKE '41.%') AS lat,
(SELECT wp_postmeta.meta_value FROM wp_postmeta WHERE wp_postmeta.post_id = wp_posts.ID AND wp_postmeta.meta_value LIKE '2.%') AS lng,
(3959 * acos(cos(radians(41.367682)) * cos(radians('lat')) * cos(radians('lng') - radians(2.154077)) + sin(radians(41.367682)) * sin(radians('lat')))) AS distance
FROM wp_posts, wp_postmeta
WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = 'position' AND wp_posts.post_status = 'publish' AND wp_posts.post_type = 'page' AND wp_posts.post_date < NOW()
GROUP BY ID
ORDER BY distance ASC
आप अपनी अभिव्यक्ति में उद्धरणों में लैट और एलएनजी क्यों डालते हैं? –
क्या यह बिना किसी त्रुटि के चलाता है या आपको इस क्वेरी को निष्पादित करते समय कुछ त्रुटियां मिलती हैं? – Lion
क्वेरी चलाने के लिए उद्धरणों की आवश्यकता है, मुझे कोई त्रुटि नहीं मिलती है और सब कुछ ठीक से लौटाया जाता है सिवाय इसके कि दूरी गणना सभी रिकॉर्ड्स के लिए समान मान देती है, जिसका अर्थ है कि दर्ज किए गए मान किसी भी चीज़ के लिए उपयोग नहीं किए जाते हैं। मुझसे यहां क्या गलत हो रहा है? – Chris