Afficher b en face de a
Fermé
mkymky
-
27 août 2016 à 11:46
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 9 sept. 2016 à 10:00
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 9 sept. 2016 à 10:00
A voir également:
- Afficher b en face de a
- Afficher mot de passe wifi android - Guide
- Face time - Guide
- Afficher appdata - Guide
- Face book conection - Guide
- Afficher google en page d'accueil - Guide
5 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
30 août 2016 à 09:38
30 août 2016 à 09:38
Bonjour,
En supposant que ton identifiant de colis soit Numcolis, je te propose la requête suivante :
Par contre, tu devrais vraiment penser à mettre deux colonnes, une pour chaque quantité, non ? Ce serait quand même plus simple... Ou alors deux tables, une pour les envois une pour les réceptions si tu veux faire varier d'autres paramètres (la date d'envoi / de réception, le poids à l'envoi / à la réception...)
Xavier
En supposant que ton identifiant de colis soit Numcolis, je te propose la requête suivante :
SELECT r.NumColis, r.DateColis, r.ClientID, r.QteColis as Qte_recue, r.Poids, l.QteColis as Qte_Livree FROM Colis r LEFT OUTER JOIN Colis l ON r.NumColis = l.NumColis WHERE r.Categorie = 'rec' AND l.Categorie = 'liv'
Par contre, tu devrais vraiment penser à mettre deux colonnes, une pour chaque quantité, non ? Ce serait quand même plus simple... Ou alors deux tables, une pour les envois une pour les réceptions si tu veux faire varier d'autres paramètres (la date d'envoi / de réception, le poids à l'envoi / à la réception...)
Xavier
Bonjour Reivax962.
merci pour votre intérêt, pour la réponse. je vais l'essayer et vous dire quoi. quand à la proposition, c'est ce que j'avais fait et je m’étais encore buté à des problèmes, toute fois, je vais reconsidérer tout ça et vous mettre au courant. en tout cas merci beaucoup.
merci pour votre intérêt, pour la réponse. je vais l'essayer et vous dire quoi. quand à la proposition, c'est ce que j'avais fait et je m’étais encore buté à des problèmes, toute fois, je vais reconsidérer tout ça et vous mettre au courant. en tout cas merci beaucoup.
bonjour Xavier, je viens de vérifier le résultat; il est vrai que ça me donne b en face de a, mais si j'utilise AND il ne me donne aucune donnée et si j'utilise OR il donne toutes les données sur a et sur b aussi. ce que je veux, ce qu'il me donne les quantités reçues sur a uniquement et les quantités livrées sur b uniquement afin que je puisse les comparer.
si ceci n'est pas possible si les sont dans une seule table, proposez moi un autre modèle qui pourrait m'aider. En tout cas, merci beaucoup pour l'aide que vous m'apporter, ça m'a déjà beaucoup aidé.
si ceci n'est pas possible si les sont dans une seule table, proposez moi un autre modèle qui pourrait m'aider. En tout cas, merci beaucoup pour l'aide que vous m'apporter, ça m'a déjà beaucoup aidé.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
30 août 2016 à 13:21
30 août 2016 à 13:21
Bonjour,
Je pense que le problème vient de la règle de jointure.
J'ai utilisé "r.NumColis = l.NumColis" mais je ne suis pas sûr que ce soit la bonne règle, ne connaissant pas exactement ta structure de données.
Pour corriger, il faudrait que tu me dises exactement comment tu fais correspondre une ligne REC avec une ligne LIV.
Xavier
Je pense que le problème vient de la règle de jointure.
J'ai utilisé "r.NumColis = l.NumColis" mais je ne suis pas sûr que ce soit la bonne règle, ne connaissant pas exactement ta structure de données.
Pour corriger, il faudrait que tu me dises exactement comment tu fais correspondre une ligne REC avec une ligne LIV.
Xavier
Merci Xavier. pour faire correspondre la ligne rec à la ligne liv, j'utilise le champ: ClientID. Merci beaucoup Vraiment.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
30 août 2016 à 16:28
30 août 2016 à 16:28
Client seul ? Il ne peut pas y avoir plusieurs commandes pour un seul client ?
ClientID + Date, peut-être ?
Bon, avec ClientID tout seul, la requête deviendrait
Xavier
ClientID + Date, peut-être ?
Bon, avec ClientID tout seul, la requête deviendrait
SELECT r.NumColis, r.DateColis, r.ClientID, r.QteColis as Qte_recue, r.Poids, l.QteColis as Qte_Livree FROM Colis r LEFT OUTER JOIN Colis l ON r.ClientID = l.ClientID WHERE r.Categorie = 'rec' AND l.Categorie = 'liv'
Xavier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonsoir Xavier, maintenant ça me donne les rec sur une colonne et les liv sur une autre; seulement il y a une redondance. ça se double sur tous les deux colonnes. comment éliminer ça? Merci, franchement merci.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
3 sept. 2016 à 13:43
3 sept. 2016 à 13:43
Salut,
Est-ce que tu parles de lignes en doublons, ou est-ce que ce sont les quantités qui sont x2 ?
Dans le premier cas, il y a sans doute d'autres critères à intégrer pour les éliminer (deux lignes "rec" ou "liv" pour le même clientID ?)
Dans le deuxième cas, je sèche.
Xavier
Est-ce que tu parles de lignes en doublons, ou est-ce que ce sont les quantités qui sont x2 ?
Dans le premier cas, il y a sans doute d'autres critères à intégrer pour les éliminer (deux lignes "rec" ou "liv" pour le même clientID ?)
Dans le deuxième cas, je sèche.
Xavier
mkymky
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
5 sept. 2016 à 10:58
5 sept. 2016 à 10:58
Ce sont de doublons. veuillez me proposé alors la deuxième critère, svp. Merci.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
9 sept. 2016 à 10:00
9 sept. 2016 à 10:00
Bonjour,
Désolé pour le délai.
Pour votre problème, il faudrait savoir qu'est-ce qui peut permettre de différencier les lignes en double.
Prenez un clientID qui pose problème, et exécutez la requête suivante :
SELECT * FROM Colis WHERE ClientId = XXX
(ou XXX est le clientID choisi)
Donnez-moi le résultat (avec les en-têtes de colonne), pour que je voie ce qu'il faut faire.
Xavier
Désolé pour le délai.
Pour votre problème, il faudrait savoir qu'est-ce qui peut permettre de différencier les lignes en double.
Prenez un clientID qui pose problème, et exécutez la requête suivante :
SELECT * FROM Colis WHERE ClientId = XXX
(ou XXX est le clientID choisi)
Donnez-moi le résultat (avec les en-têtes de colonne), pour que je voie ce qu'il faut faire.
Xavier