IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

INSERT avec clé composite


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut INSERT avec clé composite
    Bonjour,
    Ca fait pas mal de temps que je suis bloquer sur mon problème je n'arrive pas à insérer dans une table (`mesurer`) des données issu de plusieurs table en sachant que la clé primaire de la table `mesurer` est une clé composite et que le reste des colonnes sont issu d'une table brut sans relation avec le reste de ma BD.

    Pour que vous compreniez mieux je vous fournis une image de la table




  2. #2
    Invité
    Invité(e)
    Par défaut
    Bjr,

    Quel(s) problème(s) rencontres-tu ?
    Un msg d'err ?

  3. #3
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    d'abord petite réflexion...

    ta table mesure comme son nom et contenu l'indiquent permet de caractérisé un échange...

    pourquoi choisir une telle clé primaire? un simple int en auto-incrément suffisait amplement... les clés étrangères dans une clé primaire c'est loin d'être une bonne idée... et ça peut engendrer des problème de contrainte d'intégrité si c'est mal fait...

    une clé primaire est utilisée dans tout un tas de processus (calcul du nombre de ligne, recherches, jointures,...), elle doit donc être la plus efficace et adaptée

    la ton truc engendre un index de clé primaire sur 12 colonnes...

    id_mesure ne devrait il pas être cette clé primaire?

    si tu as un problème d'insertion, c'est que tu as un problème d'unicité sur les valeur injectée
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    les clés étrangères dans une clé primaire c'est loin d'être une bonne idée...
    Sauf si la table est issue d'une association du MCD ou s'il s'agit d'une table fille dans un héritage ou s'il y a identification relative.
    Une clé primaire de 12 colonnes, ça fait en effet beaucoup !

    Il faudrait voir quel schéma a abouti à cette structure.

    Quant à l'idée de prendre IDmesure, oui mais à condition de transformer la colonne en INTEGER AUTO_INCREMENT.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    tu as raison... mais vu ce qu'on en voit j'en doute

    on verra bien son retour
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Salut,
    Oui effectivement la table est bien issue d'une association du MCD,
    Enfaite j'ai du déduire des dépendances fonctionnelles d'une base Excel composé de 137 colonnes pour en arriver à une modélisation de 33 tables.
    Après la conception de mon modèle n'est pas forcement optimal mais bon pas vraiment évident :/ car je dois faire de l'import automatique de ce fichier Excel dans la base MySQL que je suis en train de créer. Donc j'ai créé une table temporaire brut ou viendra se faire l'import en csv puis à partir de cette table brut insérer dans les différentes table de la BD.

    Pour ce qui est IDMESURE ceci fait partie de la base Excel que je reçois et identifie une mesure unique (de la forme xxxxx_1).
    Au début la table mesurer était une entité cependant toutes les tables associé avait des cardinalité 1,1 - 0,N d'où le passage en une association et la présence de 11 clés :S

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Pour ce qui est IDMESURE ceci fait partie de la base Excel que je reçois et identifie une mesure unique (de la forme xxxxx_1).
    Alors ajoute un vrai ID auto-incrémenté et sans signification, ça accélérera les requêtes et jointures.

    Au début la table mesurer était une entité cependant toutes les tables associé avait des cardinalité 1,1 - 0,N d'où le passage en une association et la présence de 11 clés :S
    Une entité est dans un MCD merisien. Le fait que cette entité soit associée à 11 entités n'en fait pas pour autant une association.

    Exemple :
    personne -0,n----diriger----1,1- projet -1,1----concerner----0,n- client

    Projet est associé à deux entités mais est bien une entité propre, pas une association.

    Je pense que dans ton cas Mesure est aussi une entité qui devrait avoir son propre identifiant et pas une association.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Dans ton exemple L'ID d'une personne plus l'ID d'un client permet à deux de déterminer un unique projet non ??

  9. #9
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par axe31 Voir le message
    Dans ton exemple L'ID d'une personne plus l'ID d'un client permet à deux de déterminer un unique projet non ??
    Non.
    Une personne peut diriger plusieurs projets d'un même client.

    Commence par écrire des règles de gestion des données. Une table associative est le fruit d'une association du MCD, c'est à dire d'un verbe dans le MCD.
    Je me demande bien comment tu réussiras à écrire une phrase pour exprimer ton association Mesurer qui a 11 branches vers 11 entités !

    Pour moi, il s'agit plutôt d'une entité Mesure.

    Une mesure est qualifiée d'une qualité et une qulité peut qualifier plusieurs mesures.
    Une mesure utilise un matériel mobile et un matériel mobile peut être utilisé par plusieurs mesures.
    ...
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Ok ok c'est juste que je me souvenais d'un de mes cours qui disait que si une entité est entouré de cardinalité 1,1 alors celle ci devenait association (association n-aire si je me souviens bien) après oui j'ai bien utilisé les règles de gestion pour modéliser mon MCD.

    Une petite question aussi pour garder la corespondances des données lors de l'insert je compare les données de me clées etrangere avec les données de la table brut dans la clause WHERE mais ceci me parrait peut performant :/
    Y'a t-il quelque chose de plus efficace ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    INSERT INTO `mesures`
    (
    `IDMESURE`, `CAUSE_QSM`, `DATE`, `DISTANCE_2_MESURES`, `DISTANCE_DEBUT_FIN`, `DUREE_THEORIQUE`,
    `HEUREDEBUT`, `HEUREFIN`, `MOBILITE`, `NIVEAU_SERVICE`, `STATUS_COMMENT`, `Vasco`, `VITESSE_MOYENNE`,
    `Commentaires_enqueteur`, `ID_LOCALISATION`,`ID_QUALITE`,`ID_CONSTRUCTEUR`, `ID_MATERIEL_FIXE`, `ID_MATERIEL_MOBILE`,
    `ID_OPERATEUR`,`ID_USAGE`,`ID_MODE`, `ID_TYPMES`,`ID_HORAIRES`, `ID_TYPAPPEL` 
    )
     
    	SELECT
    	`IDMESURE`, `CAUSE_QSM`, `DATE`, `DISTANCE_2_MESURES`, `DISTANCE_DEBUT_FIN`, `DUREE_THEORIQUE`,
    	`HEUREDEBUT`, `HEUREFIN`, `MOBILITE`, `NIVEAU_SERVICE`, `STATUS_COMMENT`, `Vasco`, `VITESSE_MOYENNE`,
    	`Commentaires_enqueteur`,
    	`localisation`.`ID_LOCALISATION` AS `ID_LOCALISATION`,
    	`qualite`.`ID_QUALITE` AS `ID_QUALITE`,
    	`constructeur`.`ID_CONSTRUCTEUR` AS `ID_CONSTRUCTEUR`,
    	`materiels_fixe`.`ID_MATERIEL_FIXE` AS `ID_MATERIEL_FIXE`,
    	`materiels_mobile`.`ID_MATERIEL_MOBILE` AS `ID_MATERIEL_MOBILE`,
    	`operateurs`.`ID_OPERATEUR` AS `ID_OPERATEUR`,
    	`usages`.`ID_USAGE` AS `ID_USAGE`,
    	`modes`.`ID_MODE` AS `ID_MODE`,
    	`typemesures`.`ID_TYPMES` AS `ID_TYPMES`,
    	`horaires`.`ID_HORAIRES` AS `ID_HORAIRES`,
    	`typappels`.`ID_TYPAPPEL` AS `ID_TYPAPPEL`
     
    	FROM `brutvoix`,`localisation`,`qualite`,`constructeur`,`materiels_fixe`,`materiels_mobile`,`operateurs`,`usages`,
    		`modes`,`typemesures`,`horaires`,`typappels`
    	WHERE
    		`brutvoix`.`ADRESSE` = `localisation`.`ADRESSE`
    	AND `brutvoix`.`AGGLO` = `localisation`.`AGGLO`
    	AND `brutvoix`.`AGGLO_INSEE` = `localisation`.`AGGLO_INSEE`
    	AND `brutvoix`.`CommuneAgglo` = `localisation`.`CommuneAgglo`
    	AND `brutvoix`.`CoteVoie` = `localisation`.`CoteVoie`
    	AND `brutvoix`.`DepartementAgglo` = `localisation`.`DepartementAgglo`
    	AND `brutvoix`.`DR` = `localisation`.`DR`
    	AND `brutvoix`.`DTO` = `localisation`.`DTO`
    	AND `brutvoix`.`EtageLieu` = `localisation`.`EtageLieu`
    	AND `brutvoix`.`Intramuros` = `localisation`.`Intramuros`
    	AND `brutvoix`.`LatitudeL2_D` = `localisation`.`LatitudeL2_D`
    	AND `brutvoix`.`LatitudeL2_F` = `localisation`.`LatitudeL2_F`
    	AND `brutvoix`.`LatitudeWGS` = `localisation`.`LatitudeWGS`
    	AND `brutvoix`.`LIGNE_COMMERCIALE` = `localisation`.`LIGNE_COMMERCIALE`
    	AND `brutvoix`.`LongitudeL2_D` = `localisation`.`LongitudeL2_D`
    	AND `brutvoix`.`LongitudeL2_F` = `localisation`.`LongitudeL2_F`
    	AND `brutvoix`.`LongitudeWGS` = `localisation`.`LongitudeWGS`
    	AND `brutvoix`.`NOMINSEE` = `localisation`.`NOMINSEE`
    	AND `brutvoix`.`PopAgglo` = `localisation`.`PopAgglo`
    	AND `brutvoix`.`TRONCON` = `localisation`.`TRONCON`
    	AND `brutvoix`.`TRONCON_M` = `localisation`.`TRONCON_M`
    	AND `brutvoix`.`TYPE_PERIMETRE` = `localisation`.`TYPE_PERIMETRE`
    	AND `brutvoix`.`TYPELIEU` = `localisation`.`TYPELIEU`
    	AND `brutvoix`.`TYPE_CPI_2G` = `localisation`.`TYPE_CPI_2G`
    	AND `brutvoix`.`IDENT_CPI_2G` = `localisation`.`IDENT_CPI_2G`
    	AND `brutvoix`.`IDENT_CPI_3G` = `localisation`.`IDENT_CPI_3G`
    	AND `brutvoix`.`TYPE_CPI_3G` = `localisation`.`TYPE_CPI_3G`
    	AND `brutvoix`.`_STATUS` = `qualite`.`_STATUS`
    	AND `brutvoix`.`NOTEFIXE` = `qualite`.`NOTEFIXE`
    	AND `brutvoix`.`NOTEMIN` = `qualite`.`NOTEMIN`
    	AND `brutvoix`.`NOTEMOBILE` = `qualite`.`NOTEMOBILE`
    	AND `brutvoix`.`RxLev_RSCP` = `qualite`.`RxLev_RSCP`
    	AND `brutvoix`.`RxQual_ECIO` = `qualite`.`RxQual_ECIO`
    	AND `brutvoix`.`CONSTRUCTEUR` = `constructeur`.`CONSTRUCTEUR`
    	AND `brutvoix`.`NUMEROPHONE_FIXE` = `materiels_fixe`.`NUMEROPHONE_FIXE`
    	AND `brutvoix`.`OREILLETTE_FIXE` = `materiels_fixe`.`OREILLETTE_FIXE`	
    	AND `brutvoix`.`NUMEROPHONE_MOBILE` = `materiels_mobile`.`NUMEROPHONE_MOBILE`
    	AND `brutvoix`.`NOMTELEPHONE` = `materiels_mobile`.`NOMTELEPHONE`	
    	AND `brutvoix`.`OREILLETTE_MOBILE` = `materiels_mobile`.`OREILLETTE_MOBILE`		
    	AND `brutvoix`.`OPERATEUR` = `operateurs`.`OPERATEUR`
    	AND `brutvoix`.`USAGE` = `usages`.`USAGE`
    	AND `brutvoix`.`mode` = `modes`.`MODE`
    	AND `brutvoix`.`HO_3G_2G` = `modes`.`HO_3G_2G`
    	AND `brutvoix`.`Typemesure` = `typemesures`.`Typemesure`
    	AND `brutvoix`.`TrancheHoraire` = `horaires`.`TrancheHoraire`
    	AND `brutvoix`.`TypeHeure` = `horaires`.`TypeHeure`
    	AND `brutvoix`.`type_appel` = `typappels`.`type_appel`
    	ON DUPLICATE KEY UPDATE `IDMESURE` = `mesures`.`IDMESURE`

  11. #11
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par axe31 Voir le message
    si une entité est entouré de cardinalité 1,1 alors celle ci devenait association (association n-aire si je me souviens bien)
    Ben celui qui vous a enseigné ça doit réviser ses connaissances en modélisation !

    Quand on fait un MCD, on commence par déterminer les entités types, puis les associations entre elles.

    Certaines associations peuvent effectivement être "n-aire", c'est à dire plus que binaires, si elles associent plus de deux entités types.

    Exemple : un cheval est monté par un jockey lors d'une course :
    cheval -0,n----Monter----0,n- jockey
    course -0,n---------|

    Ici, effectivement, on pourra créer une table associative dont la clé primaire est composée de trois clés étrangères référençant les trois tables associées :
    monte (mnt_id_cheval, mnt_id_jockey, mnt_id_course, mnt_place_arrivee...)

    On peut aussi avoir besoin de transformer en cours de MCD une association en entité associative.
    Exemple classique :
    commande -1,n----concerner----0,n- produit

    Comme on veut gérer les livraisons partielles, on transforme l'association "concerner" en entité associative "ligne_commande" :
    commande -1,n----comprendre----(1,1)- ligne_commande -(1,1)----concerner----0,n- produit

    De par l'identification relative (cardinalités entre parenthèses), la table ligne_commande aura la même structure que la table associative concerner qui aurait été issue du premier MCD.

    Mais transformer une entité type en association, je ne crois pas avoir eu à le faire, sauf à corriger un mauvais MCD ou les concepts étaient mal définis au départ.

    après oui j'ai bien utilisé les règles de gestion pour modéliser mon MCD.
    Bonne habitude à prendre au début.

    Une petite question aussi pour garder la corespondances des données lors de l'insert je compare les données de me clées etrangere avec les données de la table brut dans la clause WHERE mais ceci me parrait peut performant :/
    Y'a t-il quelque chose de plus efficace ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    INSERT INTO `mesures`
    (
    `IDMESURE`, `CAUSE_QSM`, `DATE`, `DISTANCE_2_MESURES`, `DISTANCE_DEBUT_FIN`, `DUREE_THEORIQUE`,
    `HEUREDEBUT`, `HEUREFIN`, `MOBILITE`, `NIVEAU_SERVICE`, `STATUS_COMMENT`, `Vasco`, `VITESSE_MOYENNE`,
    `Commentaires_enqueteur`, `ID_LOCALISATION`,`ID_QUALITE`,`ID_CONSTRUCTEUR`, `ID_MATERIEL_FIXE`, `ID_MATERIEL_MOBILE`,
    `ID_OPERATEUR`,`ID_USAGE`,`ID_MODE`, `ID_TYPMES`,`ID_HORAIRES`, `ID_TYPAPPEL` 
    )
     
    	SELECT
    	`IDMESURE`, `CAUSE_QSM`, `DATE`, `DISTANCE_2_MESURES`, `DISTANCE_DEBUT_FIN`, `DUREE_THEORIQUE`,
    	`HEUREDEBUT`, `HEUREFIN`, `MOBILITE`, `NIVEAU_SERVICE`, `STATUS_COMMENT`, `Vasco`, `VITESSE_MOYENNE`,
    	`Commentaires_enqueteur`,
    	`localisation`.`ID_LOCALISATION` AS `ID_LOCALISATION`,
    	`qualite`.`ID_QUALITE` AS `ID_QUALITE`,
    	`constructeur`.`ID_CONSTRUCTEUR` AS `ID_CONSTRUCTEUR`,
    	`materiels_fixe`.`ID_MATERIEL_FIXE` AS `ID_MATERIEL_FIXE`,
    	`materiels_mobile`.`ID_MATERIEL_MOBILE` AS `ID_MATERIEL_MOBILE`,
    	`operateurs`.`ID_OPERATEUR` AS `ID_OPERATEUR`,
    	`usages`.`ID_USAGE` AS `ID_USAGE`,
    	`modes`.`ID_MODE` AS `ID_MODE`,
    	`typemesures`.`ID_TYPMES` AS `ID_TYPMES`,
    	`horaires`.`ID_HORAIRES` AS `ID_HORAIRES`,
    	`typappels`.`ID_TYPAPPEL` AS `ID_TYPAPPEL`
     
    	FROM `brutvoix`,`localisation`,`qualite`,`constructeur`,`materiels_fixe`,`materiels_mobile`,`operateurs`,`usages`,
    		`modes`,`typemesures`,`horaires`,`typappels`
    	WHERE
    		`brutvoix`.`ADRESSE` = `localisation`.`ADRESSE`
    	AND `brutvoix`.`AGGLO` = `localisation`.`AGGLO`
    	AND `brutvoix`.`AGGLO_INSEE` = `localisation`.`AGGLO_INSEE`
    	AND `brutvoix`.`CommuneAgglo` = `localisation`.`CommuneAgglo`
    	AND `brutvoix`.`CoteVoie` = `localisation`.`CoteVoie`
    	AND `brutvoix`.`DepartementAgglo` = `localisation`.`DepartementAgglo`
    	AND `brutvoix`.`DR` = `localisation`.`DR`
    	AND `brutvoix`.`DTO` = `localisation`.`DTO`
    	AND `brutvoix`.`EtageLieu` = `localisation`.`EtageLieu`
    	AND `brutvoix`.`Intramuros` = `localisation`.`Intramuros`
    	AND `brutvoix`.`LatitudeL2_D` = `localisation`.`LatitudeL2_D`
    	AND `brutvoix`.`LatitudeL2_F` = `localisation`.`LatitudeL2_F`
    	AND `brutvoix`.`LatitudeWGS` = `localisation`.`LatitudeWGS`
    	AND `brutvoix`.`LIGNE_COMMERCIALE` = `localisation`.`LIGNE_COMMERCIALE`
    	AND `brutvoix`.`LongitudeL2_D` = `localisation`.`LongitudeL2_D`
    	AND `brutvoix`.`LongitudeL2_F` = `localisation`.`LongitudeL2_F`
    	AND `brutvoix`.`LongitudeWGS` = `localisation`.`LongitudeWGS`
    	AND `brutvoix`.`NOMINSEE` = `localisation`.`NOMINSEE`
    	AND `brutvoix`.`PopAgglo` = `localisation`.`PopAgglo`
    	AND `brutvoix`.`TRONCON` = `localisation`.`TRONCON`
    	AND `brutvoix`.`TRONCON_M` = `localisation`.`TRONCON_M`
    	AND `brutvoix`.`TYPE_PERIMETRE` = `localisation`.`TYPE_PERIMETRE`
    	AND `brutvoix`.`TYPELIEU` = `localisation`.`TYPELIEU`
    	AND `brutvoix`.`TYPE_CPI_2G` = `localisation`.`TYPE_CPI_2G`
    	AND `brutvoix`.`IDENT_CPI_2G` = `localisation`.`IDENT_CPI_2G`
    	AND `brutvoix`.`IDENT_CPI_3G` = `localisation`.`IDENT_CPI_3G`
    	AND `brutvoix`.`TYPE_CPI_3G` = `localisation`.`TYPE_CPI_3G`
    	AND `brutvoix`.`_STATUS` = `qualite`.`_STATUS`
    	AND `brutvoix`.`NOTEFIXE` = `qualite`.`NOTEFIXE`
    	AND `brutvoix`.`NOTEMIN` = `qualite`.`NOTEMIN`
    	AND `brutvoix`.`NOTEMOBILE` = `qualite`.`NOTEMOBILE`
    	AND `brutvoix`.`RxLev_RSCP` = `qualite`.`RxLev_RSCP`
    	AND `brutvoix`.`RxQual_ECIO` = `qualite`.`RxQual_ECIO`
    	AND `brutvoix`.`CONSTRUCTEUR` = `constructeur`.`CONSTRUCTEUR`
    	AND `brutvoix`.`NUMEROPHONE_FIXE` = `materiels_fixe`.`NUMEROPHONE_FIXE`
    	AND `brutvoix`.`OREILLETTE_FIXE` = `materiels_fixe`.`OREILLETTE_FIXE`	
    	AND `brutvoix`.`NUMEROPHONE_MOBILE` = `materiels_mobile`.`NUMEROPHONE_MOBILE`
    	AND `brutvoix`.`NOMTELEPHONE` = `materiels_mobile`.`NOMTELEPHONE`	
    	AND `brutvoix`.`OREILLETTE_MOBILE` = `materiels_mobile`.`OREILLETTE_MOBILE`		
    	AND `brutvoix`.`OPERATEUR` = `operateurs`.`OPERATEUR`
    	AND `brutvoix`.`USAGE` = `usages`.`USAGE`
    	AND `brutvoix`.`mode` = `modes`.`MODE`
    	AND `brutvoix`.`HO_3G_2G` = `modes`.`HO_3G_2G`
    	AND `brutvoix`.`Typemesure` = `typemesures`.`Typemesure`
    	AND `brutvoix`.`TrancheHoraire` = `horaires`.`TrancheHoraire`
    	AND `brutvoix`.`TypeHeure` = `horaires`.`TypeHeure`
    	AND `brutvoix`.`type_appel` = `typappels`.`type_appel`
    	ON DUPLICATE KEY UPDATE `IDMESURE` = `mesures`.`IDMESURE`
    Alors là, pour commencer, les jointures s'écrivent depuis 20 ans avec l'opérateur JOIN ; il serait temps de s'y mettre !

    Ensuite, je ne vois dans la clause WHERE que des conditions de jointures entre la table brutvoix et les autres tables. Qu'est-ce que cette table brutvoix ?
    Est-ce une table d'importation de données qui contient des données en texte et pour lesquelles tu insères dans la table mesures les clés correspondantes ?

    Ça me semble la bonne méthode. Si cette requête travaille sur beaucoup de lignes de brutvoix, vérifie l'indexation de cette table pour que les jointures s'exécutent au mieux.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Ben celui qui vous a enseigné ça doit réviser ses connaissances en modélisation !
    Je dirais plus que j'ai mal compris la chose

    Citation Envoyé par CinePhil Voir le message
    Ensuite, je ne vois dans la clause WHERE que des conditions de jointures entre la table brutvoix et les autres tables. Qu'est-ce que cette table brutvoix ?
    Est-ce une table d'importation de données qui contient des données en texte et pour lesquelles tu insères dans la table mesures les clés correspondantes ?
    Oui la table brutvoix est bien la table d'importation des données en texte celle-ci ce créer après l'importation du fichier texte et se suprimme après l'insertion dans les differentes tables

    Citation Envoyé par CinePhil Voir le message
    Ça me semble la bonne méthode. Si cette requête travaille sur beaucoup de lignes de brutvoix, vérifie l'indexation de cette table pour que les jointures s'exécutent au mieux.
    Elle travaille generalement entre 1500 et 2000 lignes de brutvoix.

  13. #13
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Elle travaille generalement entre 1500 et 2000 lignes de brutvoix.
    Ce n'est pas beaucoup pour un SGBD. Ça ne devrait pas poser de problème de performance mais vérifie quand même les index, ça ne peut que faire du bien.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Ok mais je vais essayer de faire ça proprement quand même car brutvoix n'aura que entre 1500 et 2000 lignes a chaque fois mais les tables vont contenir de plus en plus de lignes car des fichiers bruts différents il y'en as des centaines !

    En tout cas merci pour ton aide et du temps que tu as passé a me répondre.

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Bon avec les jointures c'est bien plus rapide

    Après j'ai juste un probleme pour faire des jointures sur des tables contenant une clée etrangere

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TYPELOCALISATION (ID_TYPELOCALISATION, TypeLocalisation, #ID_TYPELIEU) 
    TYPELIEU (ID_TYPELIEU, TYPELIEU)
    brutvoix (.....,TypeLocalisation,...,TYPELIEU, .... )

    Les autres jointures s'effectuent correctement mais celle de la ligne 22 me fait le produit cartésien... Idem pour la 40 mais si quelqu'un peut me donner la solution pour la première la deuxième est identique je suppose ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    SELECT DISTINCT
    	brut.`IDMESURE`,brut.`CAUSE_QSM`,brut.`DATE`,brut.`DISTANCE_2_MESURES`,
    	brut.`DISTANCE_DEBUT_FIN`,brut.`DUREE_THEORIQUE`,brut.`HEUREDEBUT`,
    	brut.`HEUREFIN`,brut.`MOBILITE`,brut.`NIVEAU_SERVICE`,brut.`STATUS_COMMENT`,
    	brut.`Vasco`,brut.`VITESSE_MOYENNE`,brut.`Commentaires_enqueteur`,zmkt.`ID_ZMKT`,
    	sarcep.`ID_SARCEP`,sinsee.`ID_SINSEE`,typloca.`ID_TYPELOCALISATION`,axes.`ID_AXES`,
    	trains.`ID_TRAIN`,plaques.`ID_PLAQUE`,upr.`ID_UPR`,qualite.`ID_QUALITE`,
    	const.`ID_CONSTRUCTEUR`,matosF.`ID_MATERIEL_FIXE`,matosM.`ID_MATERIEL_MOBILE`,
    	ope.`ID_OPERATEUR`,usages.`ID_USAGE`,modes.`ID_MODE`,typmes.`ID_TYPMES`,
    	hor.`ID_HORAIRES`,typappel.`ID_TYPAPPEL`,adr.`ID_ADRESSES`,coord.`ID_Coordonnees`,
    	cpi2g.`ID_CPI2G`,cpi3g.`ID_CPI3G`,intra.`ID_Intramuros`
     
    FROM `brutvoix` brut
     
    LEFT OUTER JOIN `zonesmarketing` zmkt
    	ON brut.`zmkt` = zmkt.zmkt
    LEFT OUTER JOIN `strates_arcep` sarcep
    	ON brut.`STRATE_ARCEP` = sarcep.STRATE_ARCEP
    LEFT OUTER JOIN `strates_insee` sinsee
    	ON brut.`STRATE_INSEE` = sinsee.STRATE_INSEE
     
    -- PB multiplication des ligne a cause de la clé etrangere		
    LEFT OUTER JOIN `typelocalisation` typloca
    	ON brut.`Typelocalisation` = typloca.Typelocalisation
     
    LEFT OUTER JOIN `axes` axes
    	ON brut.`TypeAxe` = axes.TypeAxe
    	AND brut.`NOMAXE` = axes.NOMAXE
    LEFT OUTER JOIN `trains` trains
    	ON brut.`CommuneDepartTrain` = trains.CommuneDepartTrain
    	AND brut.`CommuneArriveeTrain` = trains.CommuneArriveeTrain
    	AND brut.`DescriptionTrain` = trains.DescriptionTrain
    	AND brut.`EtageTrain` = trains.EtageTrain
    LEFT OUTER JOIN `plaques` plaques
    	ON brut.`PLAQUE_CODE` = plaques.PLAQUE_CODE
    	AND brut.`PLAQUE_NOM` = plaques.PLAQUE_NOM 
    LEFT OUTER JOIN `upr` upr
    	ON brut.`UR` = upr.UR
     
    -- PB multiplication des ligne a cause de la clé etrangere	
    LEFT OUTER JOIN `qualite` qualite
    	ON brut.`_STATUS` = qualite._STATUS
    	AND brut.`NOTEFIXE` = qualite.NOTEFIXE
    	AND brut.`NOTEMIN` = qualite.NOTEMIN
    	AND brut.`NOTEMOBILE` = qualite.NOTEMOBILE
    	AND brut.`RxLev_RSCP` = qualite.RxLev_RSCP
    	AND brut.`RxQual_ECIO` = qualite.RxQual_ECIO
     
    LEFT OUTER JOIN `constructeur` const
    	ON brut.`CONSTRUCTEUR` = const.CONSTRUCTEUR
    LEFT OUTER JOIN `materiels_fixe` matosF
    	ON brut.`NUMEROPHONE_FIXE` = matosF.NUMEROPHONE_FIXE
    	AND brut.`OREILLETTE_FIXE` = matosF.OREILLETTE_FIXE
    LEFT OUTER JOIN `materiels_mobile` matosM
    	ON brut.`NUMEROPHONE_MOBILE` = matosM.NUMEROPHONE_MOBILE
    	AND brut.`NOMTELEPHONE` = matosM.NOMTELEPHONE
    	AND brut.`OREILLETTE_MOBILE` = matosM.OREILLETTE_MOBILE
    LEFT OUTER JOIN `operateurs` ope
    	ON brut.`OPERATEUR` = ope.OPERATEUR
    LEFT OUTER JOIN `usages` usages
    	ON brut.`USAGE` = usages.`USAGE`
    LEFT OUTER JOIN `modes` modes
    	ON brut.`HO_3G_2G` = modes.HO_3G_2G
    	AND brut.`Mode` = modes.`Mode`
    LEFT OUTER JOIN `typemesures` typmes
    	ON brut.`TypeMesure` = typmes.TypeMesure
    LEFT OUTER JOIN `horaires` hor
    	ON brut.`TrancheHoraire` = hor.TrancheHoraire
    	AND brut.`TypeHeure` = hor.TypeHeure
    LEFT OUTER JOIN `typappels` typappel
    	ON brut.`type_appel` = typappel.type_appel
    LEFT OUTER JOIN `adresses` adr
    	ON brut.`ADRESSE` = adr.ID_ADRESSES
    	AND brut.`AGGLO` = adr.AGGLO
    	AND brut.`AGGLO_INSEE` = adr.AGGLO_INSEE
    	AND brut.`CommuneAgglo` = adr.CommuneAgglo
    	AND brut.`DepartementAgglo` = adr.DepartementAgglo
    	AND brut.`DR` = adr.DR
    	AND brut.`DTO` = adr.DTO
    	AND brut.`LIGNE_COMMERCIALE` = adr.LIGNE_COMMERCIALE
    	AND brut.`NOMINSEE` = adr.NOMINSEE
    	AND brut.`PopAgglo` = adr.PopAgglo
    	AND brut.`TYPE_PERIMETRE` = adr.TYPE_PERIMETRE
    	AND brut.`EtageLieu` = adr.EtageLieu
    	AND brut.`TRONCON` = adr.TRONCON
    	AND brut.`CoteVoie` = adr.CoteVoie
    	AND brut.`TRONCON_M` = adr.TRONCON_M
    LEFT OUTER JOIN `coordonnees` coord
    	ON brut.`LongitudeWGS` = coord.LongitudeWGS
    	AND brut.`LatitudeWGS` = coord.LatitudeWGS
    	AND brut.`LongitudeL2_D` = coord.LongitudeL2_D
    	AND brut.`LatitudeL2_D` = coord.LatitudeL2_D
    	AND brut.`LongitudeL2_F` = coord.LongitudeL2_F
    	AND brut.`LatitudeL2_F` = coord.LatitudeL2_F
    LEFT OUTER JOIN `cpi_2g` cpi2g
    	ON brut.`IDENT_CPI_2G` = cpi2g.IDENT_CPI_2G
    	AND brut.`TYPE_CPI_2G` = cpi2g.TYPE_CPI_2G
    LEFT OUTER JOIN `cpi_3g` cpi3g
    	ON brut.`IDENT_CPI_3G` = cpi3g.IDENT_CPI_3G
    	AND brut.`TYPE_CPI_3G` = cpi3g.TYPE_CPI_3G
    LEFT OUTER JOIN `intramuros` intra
    	ON brut.`Intramuros` = intra.Intramuros

  16. #16
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    il faudrai déjà savoir ce que vous voullez gardez de ces jointures (au niveau des données) sinon c'est pas possible de se positionner

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Je veux juste recuperer tous les ID_TYPELIEU correspondant a la base brutvoix qui elle est externe au reste de la BD car cette selection est faite pour de l'insertion de donnée issu d'une table brut(ici brutvoix) contenant toute mes colonnes et donc toutes mes données vers mes differentes tables de ma BD reprenant pratiquement toute les colonnes de la table brutvoix?
    Ici j'essaye de remplir la table MESURES
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MESURES (ID_MESURE, IDMESURE, CAUSE_QSM, DATE, DISTANCE_2_MESURES, DISTANCE_DEBUT_FIN, DUREE_THEORIQUE, HEUREDEBUT, HEUREFIN, MOBILITE, NIVEAU_SERVICE, STATUS_COMMENT, Vasco, VITESSE_MOYENNE, Commentaires_enqueteur, #ID_ZMKT, #ID_SARCEP, #ID_SINSEE, #ID_TYPELOCALISATION, #ID_AXES, #ID_TRAIN, #ID_PLAQUE, #ID_UPR, #ID_QUALITE, #ID_CONSTRUCTEUR, #ID_MATERIEL_FIXE, #ID_MATERIEL_MOBILE, #ID_OPERATEUR, #ID_USAGE, #ID_MODE, #ID_TYPMES, #ID_HORAIRES, #ID_TYPAPPEL, #ID_ADRESSES, #ID_Coordonnees, #ID_CPI2G, #ID_CPI3G, #ID_Intramuros)
    Tout se rempli correctement sauf pour #ID_TYPELOCALISATION et #ID_QUALITE

  18. #18
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    rien compris.

    On va prendre le problème autrement :
    - pourquoi y a-t-il plusieur typeLocalisation pour une mesure ?
    - pourquoi y a-t-il plusieur qualité pour une mesure ?

    Si c'est normal qu'il y en est plusieurs, il faut que vous choisissiez un des résultat parmis n à garder afin d'avoir une seule ligne par id_mesure.

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 58
    Points : 27
    Points
    27
    Par défaut
    Ah

    Non il n'y a pas plusieurs type de TypeLocalisation ou qualité pour une mesure. Justement je veux juste qu'il me recupere le bon ID pour une mesure corespondant au TypeLocalisation de la table brutvoix car celle ci possède toute les données de chacune de mes tables de ma BD et ca pour chaque mesure mais actuellement avec la jointure que j'ai faite il m'attribue a chaque ligne tous les ID_TypeLocalisation.

    TYPELIEU------0,N------Corespondre------0,1----TYPELOCALISATION----1,N-------Associer------1,1------MESURES


    Et je dois remplir toutes ses tables avec chaque ligne de brutvoix.

    2 lignes de la table temporaire brutvoix
    IDMESURE| DATE |...|TypeLocalisation|....| TypeLieu
    mesure_1 |10/05/2012|...| Agglomeration |....| Public
    mesure_2 |11/05/2012|...|------TGV-----|....| Privé

    Table TYPELOCALISATION
    ID_TypeLocalisation | TypeLocalisation
    -----------1 ---------| Agglomeration
    -----------2 ---------| TGV

    Table TYPELIEU
    ID_TypeLieu | TypeLieu
    -------1 -----| Public
    -------2 -----| Privé

    Resultat souhaité

    Table MESURES
    ID_MESURES|IDMESURE|--DATE--|...|ID_TypeLocalisation |ID_TypeLieu
    ------1 -----| mesure_1 |10/05/2012|...|----------1----------| 1
    ------2 -----| mesure_2 |11/05/2012|...|----------2----------| 2

  20. #20
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    -- PB multiplication des ligne a cause de la clé etrangere		
    LEFT OUTER JOIN `typelocalisation` typloca
    	ON brut.`Typelocalisation` = typloca.Typelocalisation
    Vu votre MCD ceci ne doit pas produire plusieurs lignes résultats.

    A partir de là ... au choix :
    - Votre MCD ne correspond pas à votre MPD
    - Vous avez des doublons dans typeLocalisation
    - Le problème ne vient pas de cette jointure

    Vérifiez les 2 1er points, faites en la bonne conclusion.
    Reprenez la même démarche pour l'autre jointure

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  2. [Procédure stockée]Insert avec renvoi clé primaire?
    Par busmik dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/08/2004, 16h14
  3. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 19h05
  4. INSERT avec procédure stockée / Clef de type AutoInc
    Par bgdelphi dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/10/2003, 18h30
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo