#1 Fri 27 September 2024 12:04
- p.robledo
- Juste Inscrit !
- Date d'inscription: 28 Sep 2009
- Messages: 4
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