Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2011, 16h20   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 2
Points : 2
Par défaut Insertion avec comptage

Bonjour, voilà j'ai un souci sur un insert, je souhaite incrémenter le nombre d'un indice, au fur et à mesure de mes enregistrements

Exemple:
Code :
1
2
3
4
5
6
7
8
 
numserie  | numlot | test | Indice |
123           001        1       1
124           001        1       1
125           001        1       1
123           001        1       2
123           001        1       3
124           001        1       2
Dans l'attente de vous lire, cordialement Jean-François
neojeff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 16h21   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 008
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 008
Points : 18 279
Points : 18 279
Envoyer un message via MSN à CinePhil
On ne va pas te donner forcément la solution toute crue ! Qu'as-tu déjà essayé ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 16h29   #3
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 2
Points : 2
Alors j'avez faire un truc du genre

Code :
1
2
3
4
5
 
INSERT INTO MaTable (
    numserie, numlot, test, indice) VALUES (123, "001", 1, 
    (SELECT COUNT(numserie)  FROM Appareil AS A2 
      WHERE A2.numserie = 123 Groupe BY numserie HAVING count(*)>0))
neojeff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 16h44   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 008
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 008
Points : 18 279
Points : 18 279
Envoyer un message via MSN à CinePhil
Ce n'est pas GROUPE BY mais GROUP BY !

Quel résultat a donné la requête ?
Quel est le SGBD utilisé ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 17h31   #5
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 2
Points : 2
Oui effectivement autant pour moi, cette base est sous Access pour le moment

Code :
1
2
3
4
 
INSERT INTO MaTable (
    numserie, numlot, test, indice) VALUES (123, "001", 1, (SELECT COUNT(*)  FROM MaTable AS A2 
      WHERE A2.numserie = 123 GROUP BY numserie HAVING count(*)>0))
Erreur inconnu
neojeff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 18h46   #6
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 2
Points : 2
Je pense avoir trouvé, j'essai ça des lundi.


Code :
1
2
3
4
5
 
INSERT INTO MaTable (
    numserie, numlot, test, indice) VALUES (123, "001", 1, 
    (SELECT COUNT(numserie)+1  FROM matable AS A2 
      WHERE A2.numserie = 123))
En vous remerciant
neojeff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 08h54   #7
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 2
Points : 2
Alors la syntaxe du post précédent fonctionne trés bien sous MySQL pas sous Access.


Requête pour Access

Code :
1
2
3
 
INSERT INTO Matable ( numserie, numlot, test, indice )  
SELECT 125 AS Expr1, "001" AS Expr2, 1 AS Expr3, COUNT(numserie)+1 AS Expr4  FROM matable AS A2 WHERE A2.numserie = 125;
Si quelqu'un à une meilleur idée !!
neojeff est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h13.


 
 
 
 
Partenaires

Hébergement Web