#1 Fri 27 September 2024 12:04
- p.robledo
- Juste Inscrit !
- Date d'inscription: 28 Sep 2009
- Messages: 5
Reconstituer numéro de parcelle cadastrale dans Sitadel
Bonjour,
Je cherche à reconstituer les identifiants de parcelles au sein de la table Sitadel / logements, pour effectuer ensuite une jointure avec le parcellaire cadastral.
Ci-après la requête SQL qui fonctionne mais à la jointure je perds 40% des lignes du fichier Sitadel, donc je dois mal paramétrer la concaténation...
Si quelqu'un s'y est essayé avec succès, je suis bien preneur de la requête et des éventuelles explications qui vont avec
Grand merci,
Paul
--
UPDATE table_sitadel
SET
idpar1 = CASE
WHEN sec_cadastre1 IS NULL OR sec_cadastre1 = '' THEN ''
ELSE CONCAT("Code de la commune du lieu des travaux", '000', sec_cadastre1,
CASE
WHEN RIGHT(num_cadastre1, 1) ~ '[A-Za-z]' THEN
RIGHT(LPAD(num_cadastre1, 5, '0'), 5) -- 5 derniers caractères si termine par une lettre
ELSE
RIGHT(LPAD(num_cadastre1, 4, '0'), 4) -- 4 derniers caractères si ne termine pas par une lettre
END
)
END,
idpar2 = CASE -- il y a jusqu'à trois parcelles concernées par une autorisation d'urbanisme dans Sitadel
WHEN sec_cadastre2 IS NULL OR sec_cadastre2 = '' THEN ''
ELSE CONCAT("Code de la commune du lieu des travaux", '000', sec_cadastre2,
CASE
WHEN RIGHT(num_cadastre2, 1) ~ '[A-Za-z]' THEN
RIGHT(LPAD(num_cadastre2, 5, '0'), 5) -- 5 derniers caractères si termine par une lettre
ELSE
RIGHT(LPAD(num_cadastre2, 4, '0'), 4) -- 4 derniers caractères si ne termine pas par une lettre
END
)
END,
idpar3 = CASE
WHEN sec_cadastre3 IS NULL OR sec_cadastre3 = '' THEN ''
ELSE CONCAT("Code de la commune du lieu des travaux", '000', sec_cadastre3,
CASE
WHEN RIGHT(num_cadastre3, 1) ~ '[A-Za-z]' THEN
RIGHT(LPAD(num_cadastre3, 5, '0'), 5) -- 5 derniers caractères si termine par une lettre
ELSE
RIGHT(LPAD(num_cadastre3, 4, '0'), 4) -- 4 derniers caractères si ne termine pas par une lettre
END
)
END
;
Dernière modification par p.robledo (Fri 27 September 2024 12:06)
Hors ligne
#2 Fri 27 September 2024 13:22
Re: Reconstituer numéro de parcelle cadastrale dans Sitadel
Bonjour,
-Est ce que tu peux extraire quelques exemples d'éléments issus de Sitadel ? cuex qui jointent, ceux qui jointent pas ?
-Est ce que ce n'est pas lié à des codes sections qui ne seraient pas sur 2 caractères ?
-Avec quelles données tu jointe ? (majic d'origine ?) et pareil quelques exemples d'id parcelles ?
Je ne comprend pas cette partie ? RIGHT(LPAD(num_cadastre3, 4, '0'), 4) -- 4 derniers caractères si ne termine pas par une lettre ?
A +
Hors ligne
#3 Tue 08 October 2024 17:24
- p.robledo
- Juste Inscrit !
- Date d'inscription: 28 Sep 2009
- Messages: 5
Re: Reconstituer numéro de parcelle cadastrale dans Sitadel
Bonjour Aline,
Merci pour ta réponse. J'ai pris le temps d'analyser les différents cas de figure quant aux modalités de renseignement des sections et numéros de parcelles dans la base Sitadel (des codes sections à 1 caractère notamment, en effet), et en "normalisant" (corrigeant) au maximum, je récupère après jointure avec les Fichiers fonciers 70% de Sitadel logement et 80% de Sitadel locaux. Je vais essayer de peaufiner encore davantage sans garantie de résultat.
Paul
Hors ligne
#4 Wed 09 October 2024 08:46
Re: Reconstituer numéro de parcelle cadastrale dans Sitadel
Coucou Paul,
Peut-être serait il intéressant d'avoir une idée des différents types de cas où la jointure ne se fait ?
A +
Hors ligne