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 04/08/2011, 14h12   #1
Invité de passage
 
Femme RAWIA
Développeur informatique
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme RAWIA

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 2
Points : 2
Par défaut un champ du nom concaténé

Bonjour,
SVP,J'ai une table sql nommée LIGNE dont les champs sont les suivant:
Ligne,Code_article,CompteurA, CompteurB,CompteurC,Compteur.....
Ce que je veux c'est incrémenter le champ dont le nom est une concaténation de "Compteur" et Ligne(la valeur du champ Ligne);
C'est à dire pour la ligne A je doit incrémenter CompteurA
la ligne B incrémenter CompteurB
mon problème c'est que je trouve pas comment le faire avec une requête SQL
Merci
RAWIA.BY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 14h14   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 638
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 638
Points : 2 630
Points : 2 630
bonjour,

rien compris.

Pouvez vous fournir un exemple de donnée avant / apres update ?
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 14h16   #3
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Essayer de voir avec du sql dynamique...
Mais cela indique quand meme un modele de données pas tres adapté

Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 14h18   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 009
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 009
Points : 18 282
Points : 18 282
Envoyer un message via MSN à CinePhil
Le problème, c'est surtout que tu as mal modélisé les données !

Es-tu sûr que le nombre de lignes (A, B, C...) ne changera jamais ? Mettre autant de colonnes qu'il y a de lignes est donc une mauvaise idée car cela obligera à modifier le modèle de données et les programmes quand tu ajouteras une nouvelle ligne.

Que sont ces lignes ? Des lignes de commande ? de facture ? de train ? de métro ? de bus ? de dessin ?
Quel est le but du compteur ?
Quelle est l'association entre les articles et les lignes ?

Bref, dites-en plus sur votre domaine et sur votre modèle de données pour qu'on puisse vous aider efficacement.
__________________
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 04/08/2011, 14h25   #5
Invité de passage
 
Femme RAWIA
Développeur informatique
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme RAWIA

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 2
Points : 2
Merci,Ce sont des lignes de production des articles, pour chaque ligne je dois avoir incrémenté un compteur de production d'un article précis.
RAWIA.BY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 14h51   #6
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 009
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 009
Points : 18 282
Points : 18 282
Envoyer un message via MSN à CinePhil
Donc si je comprends bien, une ligne peut produire plusieurs articles et un article peut être produit sur plusieurs lignes ?

MCD :
ligne -0,n----produire----0,n- article

Tables :
ligne (lgn_id... )
article (art_id, art_code...)
lgn_produire_art (lpa_id_ligne, lpa_id_article, lpa_compteur)

Pour incrémenter le compteur d'un couple {ligne, article} :
Code :
1
2
3
4
UPDATE lgn_produire_article
SET lpa_compteur = lpa_compteur + 1
WHERE lpa_id_ligne = $id_ligne
  AND lpa_id_article = $id_article
__________________
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 05/08/2011, 10h32   #7
Invité de passage
 
Femme RAWIA
Développeur informatique
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme RAWIA

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 2
Points : 2
Bonjour CinePhil,
Mes tables sont les suivantes :
OF(date_OF,NOF,ligne,id_article) [table des ordres de fabrication]
Production(date_Prod,id_article,Compteur_total,CompteurA,CompteurB,CompteurC,....,CompteurN)
/*compteur_total doit étre égale à la somme des compteur des lignes qui produit cette article*/
exemple: Production(date,art1,22,10,0,12,0,0,0,0.....)
ici on a 22 art1 produits à cette date sur les lignes A et C

j'espère que j'ai bien expliqué ce que je veux,
Merci CinePhil pour ton aide
RAWIA.BY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 11h10   #8
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 009
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 009
Points : 18 282
Points : 18 282
Envoyer un message via MSN à CinePhil
Comme je l'ai expliqué dans mes messages précédents, c'est ta table production qui ne va pas !

Elle devrait avoir plutôt ce genre de structure :
production (date_Prod, id_article, ligne, compteur)

Apprends à modéliser les données !
__________________
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 07/08/2011, 14h30   #9
Membre éclairé
 
Avatar de boussafi
 
Homme
Ingénieur développement logiciels
Inscription : septembre 2007
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 342
Points : 397
Points : 397
Envoyer un message via Yahoo à boussafi Envoyer un message via Skype™ à boussafi
sur quel SGBD es tu?
boussafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 10h14   #10
Invité de passage
 
Femme RAWIA
Développeur informatique
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme RAWIA

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 2
Points : 2
bonjour, j'utilise SQL Server2005
RAWIA.BY est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h36.


 
 
 
 
Partenaires

Hébergement Web