begin process at 2012 02 10 16:27:44
  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 procédure stockée [ par laritta ] Bonjour, J'ai un problème avec ma procédure stockée. J'ai essayé de l'exécuter mais elle me retourne rien, sachant que mes tables sont remplies. Voic requête qui ne fonctionne pas [ par tif27940 ] Bonjour, voila j'ai une requête qui doit m'afficher les contacts de la table contact qui ne sont pas dans la table dossier avec une date d'ouverture Problème création table en SQL Server [ par anouar2002 ] Salut !!! Je veux faire une création de certains tables en SQL Server 2005, il y a toujours un erreur concernant les clés étrangers je suppose qui me Récup des lancements de batch [ par jpvito ] Bonjour, Voici le contexte : Des batchs sont lancés par une autre équipe et je ne dispose pas du planning de lancements de ceux-ci. Je cherche donc Aide pour sql [ par romdeljesus ] Bonjour, j'ai essaye de crayer une base de donnees contenant 2 tables sur netbeans 7.01. je cree une premiere table contenant l'entier id comme cle p 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 5,554 sec (3)

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