République
Française
Documentation Datafoncier
Toutes les ressources sur les données foncières
Bien démarrer avec DV3F
Pour rechercher des achats de la SCI Picsou sur le département du Nord (59) quand l'on connait parfaitement le nom présent dans DV3F :
SELECT *
FROM dvf.mutation
WHERE coddep = '59' AND 'SCI PICSOU' = ANY(l_noma); -- mettre en majuscule
-- ou
SELECT *
FROM dvf.mutation
WHERE coddep = '59' AND 'SCI PICSOU' = ANY(l_noma) AND fiabmaxa IS TRUE; -- pour s'assurer d'une fiabilité maximale
Pour rechercher des achats de la SCI Picsou sur le département du Nord (59) quand l'on connait approximativement le nom :
SELECT DISTINCT t1.*
FROM dvf.mutation t1
JOIN
(
SELECT idachvend
FROM dvf.acheteur_vendeur
WHERE ffnomprop LIKE '%SCI%PICSOU%' -- mettre en majuscule
) t2
ON t2.idachvend = ANY(t1.l_ida)
WHERE coddep = '59';
Pour rechercher, de manière plus exhaustive, les achats de la SCI Picsou sur le département du Nord (59) quand l'on connait approximativement le nom :
SELECT DISTINCT t1.*
FROM
dvf.mutation t1
JOIN (
SELECT idachvend
FROM dvf.acheteur_vendeur
WHERE identite IN (
SELECT identite
FROM dvf.acheteur_vendeur
WHERE ffnomprop LIKE '%SCI%PICSOU%')
UNION
SELECT idachvend
FROM dvf.acheteur_vendeur
WHERE ffnomprop LIKE '%SCI%PICSOU%'
AND identite IS NULL
) t2
ON t2.idachvend = ANY(t1.l_ida)
WHERE coddep = '59';
A noter que ce type de requêtes permet potentiellement de reconstituer les propriétés achetées par une personne morale. Il convient de les utiliser dans le respect de la legislation.
Pour rechercher les ventes de la SCI Picsou sur le département du Nord (59) lorsque l'on connait son numero SIREN (591234567890):
SELECT DISTINCT t1.*
FROM
dvf.mutation t1
JOIN (
SELECT idachvend
FROM dvf.acheteur_vendeur
WHERE identite IN (
SELECT identite
FROM dvf.acheteur_vendeur
WHERE ffsiren = '591234567890')
UNION
SELECT idachvend
FROM dvf.acheteur_vendeur
WHERE ffsiren = '591234567890'
AND identite IS NULL
) t2
ON t2.idachvend = ANY(t1.l_idv)
WHERE coddep = '59';
Pour lister les mutations, sur la période 2010-2015, dans lesquelles une commune est intervenue dans le département du Nord (59) :
SELECT *
FROM dvf.mutation
WHERE coddep = '59'
AND anneemut >= 2010 AND anneemut <= 2015
AND ((codtypprov LIKE '%P5%' AND fiabmaxv IS TRUE)
OR (codtypproa LIKE '%P5%' AND fiabmaxa IS TRUE)); -- si DROM ou Paris, prendre aussi P6
Pour dénombrer les mutations pour chaque catégorie d'acheteur entre 2010 et 2015 sur le département du Nord (59) :
SELECT codtypproa, count(*) AS nb_achat
FROM dvf.mutation
WHERE coddep = '59'
AND anneemut >= 2010 AND anneemut <= 2015
AND fiabmaxa IS TRUE
GROUP BY codtypproa
ORDER BY nb_achat DESC;
Pour dénombrer les logements vendus par un organisme de logement social à un particulier entre 2010 et 2015 sur le département du Nord (59) :
SELECT sum(nblocmai + nblocapt) as nombre_de_logements
FROM dvf.mutation
WHERE coddep = '59'
AND anneemut >= 2010 AND anneemut <= 2015
AND codtypprov LIKE '%F1%' AND fiabmaxv IS TRUE
AND codtypproa LIKE '%X0%' AND fiabmaxa IS TRUE;
Pour lister très largement les ventes qui concernent la promotion immobilière entre 2010 et 2015 sur le département du Nord (59) :
SELECT sum(nblocmai + nblocapt) as nombre_de_logements
FROM dvf.mutation
WHERE coddep = '59'
AND anneemut >= 2010 AND anneemut <= 2015
AND ((codtypprov LIKE '%F6%' AND fiabmaxv IS TRUE)
OR rolev = 'Op') ;
Pour fiabiliser le nombre de logements achetés par un organisme de logement social entre 2010 et 2015 sur le département du Nord (59) :
SELECT sum(nblocmai + nblocapt) as nombre_de_logements
FROM dvf.mutation
WHERE coddep = '59'
AND anneemut >= 2010 AND anneemut <= 2015
AND ((codtypproa LIKE '%F1%' AND fiabmaxa IS TRUE)
OR rolea = 'Os');
Pour lister les ventes suite à aménagement de parcelle par une structure supposée professionnelle entre 2010 et 2015 sur le département du Nord (59) :
SELECT *
FROM dvf.mutation
WHERE coddep = '59'
AND anneemut >= 2010 AND anneemut <= 2015
AND ((codtypprov LIKE '%F5%' AND fiabmaxv IS TRUE)
OR (rolev = 'Oa' AND codtypprov NOT LIKE '%G%' AND codtypprov NOT LIKE '%X0%' AND fiabmaxv IS TRUE));