Merge pull request #61 from CartoDB/iri/adm1synsql

Updates sql to remove duplicates avoiding auto-deletion
This commit is contained in:
Andrew W. Hill
2014-09-05 07:27:37 -04:00

View File

@@ -104,16 +104,25 @@ WHERE adm1_code IN (
DELETE FROM admin1_synonyms WHERE name IS NULL; DELETE FROM admin1_synonyms WHERE name IS NULL;
-- remove all cases where a name is duplicated with a higher rank -- remove all cases where a name is duplicated with a higher rank
DELETE FROM admin1_synonyms DELETE FROM admin1_synonyms
WHERE cartodb_id IN ( WHERE cartodb_id IN (
SELECT SELECT
cartodb_id cartodb_id
FROM FROM
admin1_synonyms a admin1_synonyms a
WHERE WHERE
0 < ( 1 < (
SELECT count(*) SELECT count(*)
FROM admin1_synonyms FROM admin1_synonyms
WHERE name_ = a.name_ WHERE name_ = a.name_
AND global_id = a.global_id AND global_id = a.global_id
AND rank < a.rank)); AND rank <= a.rank)
AND
cartodb_id != (
SELECT
min(cartodb_id)
FROM admin1_synonyms
WHERE name_ = a.name_
AND global_id = a.global_id
AND rank = a.rank)
);