Bonjour,
Un autre problème en ce jour sur lequel je me casse la tête depuis ce matin.
J'ai une table avec un codepostal et une autre un code commune, dans la première je souhaiterais remplacer le codepostal par le code commune correspondant.
Mon problème est qu'il ne veux pas me faire ça, il m'associe une foule de code commune pour un codepostal, ce qui devrait être l'inverse normalement !
Voici mes différentes requêtes et extrait de table.
1 2 3 4
| CREATE TABLE SRC9 AS (SELECT DISTINCT SNP AS SNAP, APET700 AS NAF, SIRET,NOMEN AS NOM,CODPOS,LIBCOM AS COMMUNE, SIEGE,IF(TEFET<32,E.VALUE,EFETCENT) AS EFFECTIF
FROM SIRENE S
INNER JOIN EFFECTIF E ON S.TEFET=E.TRANCHE
INNER JOIN `NAF-SNAP` N ON S.APET700 = N.NAF); |
Cela permet de créer une table contenant un codepostal.
CREATE TABLE SRC6 AS (SELECT SNAP,NAF,SIRET,NOM,CCM,COMMUNE,SIEGE,EFFECTIF FROM SRC9 S,CCT_CCM C WHERE C.CDP=S.CODPOS);
Celle-ci permet de transformer le code postal en code commune. C'est la que ça coince.
Voilà ce qu'il me sort :
1 2 3 4 5 6 7 8 9 10 11 12
| +----------+------+----------------+--------------------------------+--------+-------+----------------------+-------+----------+
| SNAP | NAF | SIRET | NOM | CODPOS | CCM | COMMUNE | SIEGE | EFFECTIF |
+----------+------+----------------+--------------------------------+--------+-------+----------------------+-------+----------+
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62046 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62175 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62212 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62219 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62220 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62222 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62359 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62388 | AUBIN SAINT VAAST | 0 | 35 |
| 02 01 10 | 631E | 00602001000051 | ETABLISSEMENTS FROMENTIN | 62140 | 62395 | AUBIN SAINT VAAST | 0 | 35 | |
Normalement, cet enregistrement ne devrait apparaître qu'une seule fois.
Le fait d'utiliser un DISTINCT dans la seconde requête me fait perdre des données pour je ne sais quelle raison.
Voici un extrait des tables que j'utilise :
Table CCT_CCM :
1 2 3 4 5
| +--------+--------------+--------------------+-------------------+-----------------+----------------------+------+---------------+---------+-------+-------+-----------+---------+------------+----------------+---------------+---------------+----------+
| Numero | INSEE_REGION | NOM_REGION | INSEE_DEPARTEMENT | NOM_DEPARTEMENT | INSEE_ARRONDISSEMENT | CCT | CAN | SUP_CAN | CCM | CDP | COM | SUP_COM | POPULATION | NOM_ZAS | CODE_ZAS_EURO | CODE_ZAS_PSQA | CODE_PPA |
+--------+--------------+--------------------+-------------------+-----------------+----------------------+------+---------------+---------+-------+-------+-----------+---------+------------+----------------+---------------+---------------+----------+
| 1 | 31.00000 | NORD-PAS-DE-CALAIS | 59.00000 | NORD | 2.00000 | 5914 | CAMBRAI OUEST | 9018 | 59001 | 59268 | ABANCOURT | 567 | 400.00000 | TERRITOIRENPDC | FR11N00002 | PSQA08 | NULL |
+--------+--------------+--------------------+-------------------+-----------------+----------------------+------+---------------+---------+-------+-------+-----------+---------+------------+----------------+---------------+---------------+----------+ |
Table Sirene :
1 2 3 4 5
| +--------+--------------+--------------------+-------------------+-----------------+----------------------+------+---------------+---------+-------+-------+-----------+---------+------------+----------------+---------------+---------------+----------+
| Numero | INSEE_REGION | NOM_REGION | INSEE_DEPARTEMENT | NOM_DEPARTEMENT | INSEE_ARRONDISSEMENT | CCT | CAN | SUP_CAN | CCM | CDP | COM | SUP_COM | POPULATION | NOM_ZAS | CODE_ZAS_EURO | CODE_ZAS_PSQA | CODE_PPA |
+--------+--------------+--------------------+-------------------+-----------------+----------------------+------+---------------+---------+-------+-------+-----------+---------+------------+----------------+---------------+---------------+----------+
| 1 | 31.00000 | NORD-PAS-DE-CALAIS | 59.00000 | NORD | 2.00000 | 5914 | CAMBRAI OUEST | 9018 | 59001 | 59268 | ABANCOURT | 567 | 400.00000 | TERRITOIRENPDC | FR11N00002 | PSQA08 | NULL |
+--------+--------------+--------------------+-------------------+-----------------+----------------------+------+---------------+---------+-------+-------+-----------+---------+------------+----------------+---------------+---------------+----------+ |
Merci
Partager