IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Modification Requete SQL


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 119
    Points : 126
    Points
    126
    Par défaut Modification Requete SQL
    Bonjour


    Je dois modifier une requete mais je ne sais comment m y prendre


    Actuellent la requetes est basée sur 3 fichiers (Facture,Factdet, Vehicule)

    Je dois maintenant y inclure un fichier client afin de rajouter un critere de recherche


    les liaisons Client.CLERS=Facture.CLERS
    Client.CLERS=Vehicule.FournisseurVe


    Le but est d'afficher les clients (liaison client,facture) qui ont une certaine famille (client.famille) {pFamille}



    Jusque la tout va bien


    Le probleme est qu je doit aussi prendre en comptre les fournisseurs qui sont d'une certaine famille (liaison client.clers=vehicule.fournisseurve) {pFamille_frs}

    Et la je suis completement perdu , tous mes essais se sont révélé infructueux

    en gros il faudrai que je possede 2 fois le fichier client il me semble :s

    Comment faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    SELECT 
    	Facture.NumPro AS NumPro,	
    	Facture.CodeMvt AS CodeMvt,	
    	Facture.Avoir AS Avoir,	
    	Facture.TypeClient AS TypeClient,	
    	Facture.RsNom AS NomPrenom,	
    	Facture.NomVendeur AS NomVendeur,	
    	Facture.CleRS AS Rs,	
    	Facture.DateFact AS DateFact,	
    	Facture.DateBC AS DateBC,	
    	Facture.TotalFacture AS TotalFacture,	
    	FactDet.VenteTotHT AS VenteTotHT,	
    	FactDet.TvaVente AS TvaVente,	
    	FactDet.VenteTotTTC AS VenteTotTTC,	
    	FactDet.VECLEUNIK AS VECLEUNIK,	
    	Vehicule.NumLivPol AS NumLivPol,	
    	Vehicule.RefDossier AS RefDossier,	
    	Vehicule.NumImmat AS NumImmat,	
    	Vehicule.VOVN AS VOVN,	
    	Vehicule.Marque AS Marque,	
    	Vehicule.Modele AS Modele,	
    	Vehicule.Provenance AS Provenance,	
    	Vehicule.fournisseurve AS fournisseurve,	
    	Vehicule.AchatHT AS AchatHT,	
    	Vehicule.AchatTTC AS AchatTTC,	
    	Vehicule.FraisRE AS FraisRE,	
    	Vehicule.FraisDivers AS FraisDivers,	
    	Vehicule.FraisGarantie AS FraisGarantie,	
    	Vehicule.MargeBrute AS MargeBrute,	
    	Vehicule.MargeNette AS MargeNette,	
    	Vehicule.GarantieAss AS GarantieAss,	
    	Vehicule.CoutGarantie AS CoutGarantie,	
    	Vehicule.MargeFinale AS MargeFinale,	
    	Vehicule.DateStock AS DateStock,	
    	Vehicule.DateVente AS DateVente
    FROM 
    	Client RIGHT OUTER JOIN Facture ON Client.CleRS = Facture.CleRS,	
    	Facture INNER JOIN FactDet ON Facture.NumPro = FactDet.NumPro,	
    	Vehicule INNER JOIN FactDet ON Vehicule.VECLEUNIK = FactDet.VECLEUNIK
    WHERE 
    	(
    	Facture.Vendu = 1
    	AND	Facture.DateVente >= {pDateDebut}
    	AND	Facture.DateVente <= {pDateFin}
    	AND	FactDet.TypeLigne = 1
    	AND	FactDet.AvecTvaVente = {pTVA}
    	AND	Facture.NomVendeur = {pVendeur}
    	AND	Facture.TypeClient = {pTypeClient}
    	AND	Facture.TypeClient <= {pTypeFrance}
    	AND	Facture.Particulier = {pParticulier}
    	AND	Facture.ProvAcheteur = {pSource}
    	AND	Facture.CleRS LIKE %{pRSContient}%
    	AND	Facture.CleRS LIKE {pRSDebut}%
    	AND	Facture.CleRS = {pRSEgal}
    	AND	Vehicule.VOVN = {pVOVN}
    	AND	Vehicule.Marque = {pMarque}
    	AND	Vehicule.Parc = {pParc}
    	AND	Vehicule.Provenance = {pProvenance}
    	AND	Vehicule.fournisseurve = {pFournisseur}
    	AND	Vehicule.fournisseurve LIKE {pFourDebut}%
    	AND	Vehicule.fournisseurve LIKE %{pFourContient}%
    	AND	Vehicule.DestSortie = {pDestSortie}
    	AND	Client.Famille = {pFamille}
    )
    ORDER BY 
    	NumLivPol ASC,	
    	VECLEUNIK ASC,	
    	NumPro ASC

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 480
    Points
    28 480
    Par défaut
    Il suffit d'utiliser des alias et de faire deux jointures sur ta table client, une fois en tant que fournisseur, l'autre en tant que client.
    Je t'encourage à consulter le Cours sur les Jointures

Discussions similaires

  1. Modification du nom d'une colonne dans une requete sql
    Par bivancha dans le forum Débuter
    Réponses: 1
    Dernier message: 02/12/2011, 11h41
  2. Modification requete sql déjà compliqué !
    Par Maxow dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/11/2008, 00h50
  3. modification d'enregistrements d'une requete SQL
    Par Pitou5464 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/09/2006, 18h34
  4. modification de la requete SQL d'une liste
    Par legillou dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 09h43
  5. DBNavigator, requete SQL et modif d'un champ
    Par TieumB dans le forum C++Builder
    Réponses: 9
    Dernier message: 27/01/2004, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo