Je travaille sur une base de données pour obtenir les mêmes enregistrements de coordonnées. Mais je suis incapable de le faire. Voici la requête que j'ai définie.Requête MySQL pour faire correspondre les mêmes coordonnées
SELECT * FROM `survey` s1, `survey` s2
WHERE s1.`latitude` = s2.`latitude`
AND s1.`longitude`= s2.`longitude`
Mais cela ne me donne toujours pas les bonnes données. La requête écrite supérieure est juste pour référence la requête réelle que je travaille est
SELECT sur.id AS 'Survey ID',DATE (sur.capture_date) AS 'Date',
sur.sub_division AS 'Sub-Div', sd.name AS 'Sub-Div Name',
sd.`circle_name` AS 'Circle Namse',sur.ref_no AS 'Reference Number',
sur.customer_id AS 'Customer ID', sur.consumer_name AS 'Consumer Name & Address',
sur.sync_date AS 'Sync Date', sur.capture_date AS 'Capture Date',
sur.latitude AS Latitude, sur.longitude AS Longitude,
sur.near_by_place AS Comments, sur.tarrif AS Tariff, sur.s_load AS 'Sanctioned Load',
sur.meter_type AS 'Meter Type (IT)', sur.meter_type_field AS 'Meter Type (Field)',
sur.meter_type_desired AS 'Meter Type (As Desired By SDO)',
sur.pole_type AS 'Pole Type', sur.meter_location AS 'Meter Location',
sur.est_cable_len AS 'Estimated Cable Length', sur.meter_status AS 'Meter Status',
sur.running_load_entry_a AS 'Running Load Entry (A)',
sur.running_load_entry_b AS 'Running Load Entry (B)',
sur.running_load_entry_c AS 'Running Load Entry (C)',
MAX(CASE WHEN sn.operator_name LIKE '%Zong%' THEN sn.signal_strength END) AS Zong,
MAX(CASE WHEN sn.operator_name LIKE '%Zong%'THEN sn.operator_type END) AS 'Zong Operator Type',
MAX(CASE WHEN sn.operator_name LIKE '%Zong%' THEN sn.data_rate/1024 END) AS 'Zong Data Rate (Mbps)',
MAX(CASE WHEN sn.operator_name LIKE '%Ufone%'THEN sn.signal_strength END) AS Ufone,
MAX(CASE WHEN sn.operator_name LIKE '%Ufone%'THEN sn.operator_type END) AS 'Ufone Operator Type',
MAX(CASE WHEN sn.operator_name LIKE '%Ufone%'THEN sn.data_rate/1024 END) AS 'Ufone Data Rate (Mbps)',
MAX(CASE WHEN sn.operator_name LIKE '%Telenor%'THEN sn.signal_strength END) AS Telenor,
MAX(CASE WHEN sn.operator_name LIKE '%Telenor%'THEN sn.operator_type END) AS 'Telenor Operator Type',
MAX(CASE WHEN sn.operator_name LIKE '%Telenor%'THEN sn.data_rate/1024 END) AS 'Telenor Data Rate (Mbps)',
MAX(CASE WHEN sn.operator_name LIKE '%Mobilink%'THEN sn.signal_strength END) AS Mobilink,
MAX(CASE WHEN sn.operator_name LIKE '%Mobilink%'THEN sn.operator_type END) AS 'Mobilink Operator Type',
MAX(CASE WHEN sn.operator_name LIKE '%Mobilink%'THEN sn.data_rate/1024 END) AS 'Mobilink Data Rate (Mbps)'
FROM survey sur
INNER JOIN survey_networks sn ON sur.id = sn.survey_id
INNER JOIN survey_hesco_subdivision sd ON sur.sub_division = sd.sub_div_code
WHERE sur.id > 4253
GROUP BY sur.id ,sur.sub_division ,sur.ref_no ,sur.customer_id ,
sur.consumer_name , sur.consumer_address , sur.sync_date ,
sur.capture_date , sur.source , sur.latitude , sur.longitude ,
sur.near_by_place , sur.tarrif , sur.s_load , sur.meter_type ,
sur.meter_type_field , sur.meter_type_desired , sur.pole_type ,
sur.meter_location , sur.est_cable_len , sur.meter_status ,
sur.running_load_entry_a , sur.running_load_entry_b ,
sur.running_load_entry_c
ORDER BY sur.`id` ASC
Il me donne tous les enregistrements ayant des coordonnées identiques et différents. Je veux juste obtenir tous les enregistrements ayant les mêmes coordonnées.
Toute aide sera grandement appréciée.
S'il vous plaît fixer votre mise en forme, votre requête réelle est illisible –