begin process at 2010 02 09 20:33:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

Left outer join


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Left outer join

vendredi 29 mai 2009 à 14:50:07 | Left outer join

ALLODREN

Sauriez vous pourquoi cette requête ne me calcule pas la somme correctement ?


SELECT
  k.id_produit,
  k.id_fournisseur,
  k.dt_document,
  k.qt_cmde_ini,
  k.ty_commande,
  k.id_societe,
  k.id_offre,
  k.ty_document,
  k.nu_document,
  k.id_user,
  k.dt_livraison,
  k.dt_confirmation,
  k.px_commande + coalesce(k3.px_commande,0) AS px_commande

from
  tbl_ligneachat k

           LEFT OUTER JOIN (

SELECT
  k2.id_produit,
  k2.id_fournisseur,
  k2.dt_document,
  k2.qt_cmde_ini,
  k2.ty_commande,
  k2.id_societe,
  k2.id_offre,
  k2.ty_document,
  k2.nu_document,
  k2.id_user,
  k2.dt_livraison,
  k2.dt_confirmation,
  k2.px_commande,
  k2.nucdli

   FROM tbl_ligneachat K2) as K3



         ON  K3.nucdli is not null and k3.nucdli=k.nu_document

where K.nucdli is null


         order by id_produit

mercredi 3 juin 2009 à 09:52:39 | Re : Left outer join

aieeeuuuuu

message d'erreur ?
mercredi 3 juin 2009 à 10:14:55 | Re : Left outer join

ALLODREN

Il n' y a pas de message d'erreur.

Mais la requête ne m'effectue pas la somme du "px_commande" des lignes où nucdli=nu_document.

Où est mon problème ?

Je récapitule :
Ma requête additionne deux tables (A,B) grace au Left outer join avec les conditions :
Si nucdli = nu_document
alors  A.px_commande = A.px_commande + B.px_commande
Et je n'affiche pas les A.nucdli.

Si c'est pas clair, je peux donner plus d'informations.

Merci
  




mercredi 3 juin 2009 à 13:29:01 | Re : Left outer join

aieeeuuuuu

deja, je ne vois pas pourquoi vous faite un select dans votyre jointure.
pourquoi ne pas faire une jointure directement :

LEFT OUTER JOIN tbl_ligneachat  as K3

d'autre part, peut-on avoir un exemple de ce que contient la table, du resultat obtnu, et surtout du resultat attendu
mercredi 3 juin 2009 à 13:38:09 | Re : Left outer join

ALLODREN



Mon besoin est : [LIST]Addition des valeurs "px_commande" pour toutes les lignes de ma table qui ont : nucdli = nu_document. [/LIST] [LIST] [*]On affiche la somme dans le px_commande de la ligne où se trouve le "nu_document" identique. [/LIST] [LIST] [*]Et on ne retient plus la ligne où se trouve le "nucdli" lié. [/LIST] Ex : Ma table actuelle est id_prod | ty_document | nu_document | nucdli | px_commande A | CDA | 160 | |2 A| CDD | 161 | 160 | 2 A | CDA | 162 | | 2 Je souhaite l' extraire tel que : A|CDA|160| |4 A|CDA|162||2 Mon premier résultat est l'addition entre la première et seconde ligne qui ont nucdli = nu_document. ---> [B]RÉCAPITULONS:[/B] Dans un premier temps, cette requête regroupe les "nucdli" (n° commandes liées) et les "nu_document" ( n ° commande ) qui ont les mêmes identifiants ( 2 colonnes dans une même table qui ont les mêmes identifiants). Dans un second temps, elle est censée additionner les "px_commande" ( le coût des commandes) des regroupements ( au total, il y a 8 regroupement sur 40 664 lignes ). Étant donnée que ma requête fusionne les "nucdli" et les "nu_document" qui ont les mêmes identifiants, et qu'il y en a 8, la requête devrait me retourner 40 656 lignes. Or ma requête fait bien la somme et effectue bien la fusion mais ne me renvoi que 40 546 lignes soit une centaine en moins ! Est ce plus clair ! ?[/QUOTE]
 

mercredi 3 juin 2009 à 13:41:27 | Re : Left outer join

ALLODREN

MERCI DE NE PAS PRENDRE EN COMPTE LE MESSAGE CI DESSUS ...

MON BESOIN EST :

[*]Addition des valeurs "px_commande" pour toutes les lignes de ma table qui ont   : nucdli = nu_document.


[*]On affiche la somme dans le px_commande de la ligne où se trouve le "nu_document" identique.


[*]Et on ne retient plus la ligne où se trouve le "nucdli" lié.


Ex :

Ma table actuelle est

id_prod | ty_document | nu_document | nucdli | px_commande

A | CDA | 160 |  |2
A| CDD | 161 | 160 | 2
A | CDA | 162 |  | 2

Je souhaite l' extraire tel que :

A|CDA|160| |4
A|CDA|162||2

Mon premier résultat est l'addition entre la première et seconde ligne qui ont  nucdli = nu_document.


--->  RÉCAPITULONS:

Dans un premier temps, cette requête regroupe les "nucdli"
(n° commandes liées) et les "nu_document" ( n ° commande ) qui ont les mêmes identifiants ( 2 colonnes dans une même table qui ont les mêmes identifiants).

Dans un second temps, elle est censée additionner les "px_commande" ( le coût des commandes) des regroupements ( au total, il y a 8 regroupement sur 40 664 lignes ).

Est ce plus clair ! ?



Cette discussion est classée dans : commande, id, document, dt, k2


Répondre à ce message

Sujets en rapport avec ce message

Problème de SUM et GROUP BY [ par ALLODREN ] Bonjour, Concernant le SUM et le GROUP BY : __On groupe toujours par au moins tous les éléments de la sélection___ Mais dans ce cas : cela ne me ca Besoin d'aide pour une requete compliquée (à mes yeux) [ par aposfa ] Bonjour à tous,Explications :J'ai 4 tables :user (user_id, user_email, etc.....)commande (comm_id, comm_date, #user_id, etc.....)file (file_id, file_n Taux occupation [ par citt ] Bonjour,Je voudrait savoir comment réaliser une requete me donnant le taux d'occupation de chambres.Voici ma table :[code]CREATE TABLE [dbo].[reservat PB de calcul TARIF/ SUM (2) [ par ALLODREN ] Bonjour, j'ai réussi à solutionner  mon problème de calcul de tarif complexe ( Grâce à l'aide de la communauté Web !)Cependant, lorsque j'ajoute (soul Requête table intermédiaire (AND) [ par ikan66 ] Bonjour à tous,Je souhaite écrire une requête permettant d'interroger une table intermédiaire comprenant les champs : journal_id et domaines_id. Table Trigger et @@identity dans sql server [ par grapevine ] Bonjour à tous , Je me pose une question assez pointue et j'attends que les spécialistes de sql server se manifestent :Imaginer que je crée une table insertion d'un document PDF dans MySQL [ par nisa83 ] je suis étudiante et je prépare mon projet de fin d'étude j'ai installé Easy PHP 3.0 et je travaille actuellement avec MySQL . J'aime bien insérer un requete sql [ par moustaine84 ] slt je cherche une requete qui fait l'insertion des des champs dans deux tableaux prmier tableua  a(id-a,nom, prenom) et l 2eme tableau b(id-b,id-a,ag problème de requete sql avec un delete et un select imbriquer avec un order by [ par flachkiller ] Bonjour, je voudrai savoir comment résoudre se problème : j'ai une requête qui est la suivante : SELECT id_requete, ( SELECT ip FROM machine WHERE Design de bases de donnees sous SQL server 2008 [ par elfifoo ] Bonjour, Je poste ici le problème sur lequel je planche actuellement à mon taff. Comme le design de BD n'est pas ma spécialité (plutot le dev), j'aim


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales