begin process at 2012 05 27 04:29:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

requete simple sur table complexe


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

requete simple sur table complexe

vendredi 20 mai 2005 à 11:41:14 | requete simple sur table complexe

jordinette

Bonjour,
j'ai 2 table une Tete_cde et une Vtable. Dans Vtable j'ai les champs Vcle10, Vcle20 et Vpar1, Vcle10 contient des VARCHAR  du genre 'CODERESPONS', 'CODEREGLEM'..., Vcle20 contient des VARCHAR et Vpar1 des VARCHAR également. En gros Vcle10 c une première clé, Vcle20 une deuxième et Vpar1 contient l'information intéressante.
Dans ma table Tete_cde, j'ai le champs Code_demandeur. Je souhaite via le code dire que si Vcle20 = 'CODEDEMAND' et que Vcle10 = Tete_cde.Code_demandeur, alors une variable NomDemandeur prendra la valeur de vpar1. le soucis c'est que pour la meme requette je fé appel à 4 valeur de vcle20 différente, je veux le code demandeur, le code responsable le code reglement, et le code transport.

Le code actuel

CREATE OR REPLACE VIEW VW_BON_CDE_FOUR ( CODE_DEMANDEUR, NUM_CDE, DATE_CDE, CODE_FOUR, TYPE_COLIS, INDICE_REV_CDE, CODE_DEVISE, AUX_ESCOMPTE, TOTAL_LIGNES, CODE_RGL, CODE_LIV, RESPONSABLE, NUM_LIGNE, CODE_ARTICLE, REF1, DESIGN2, DESIGN3, UNITE_APPRO, QUANTITE_COMMANDE, PRIX_UNITAIRE, REMISE, DELAI_LIVRAISON, COMMENTAIRE_CDE, COMMENTAIRE_LIGNE, NOM_FOUR, ADRESSE1, ADRESSE2, ADRESSE3, CODE_POSTAL, VILE, TELEPHONE, FAX, NBR_JOUR_AR, VPAR1_TRANS, VPAR1_RESPON, VPAR1_RGL, VPAR1_DEMANDEUR ) AS SELECT tete_cde_fournisseur.code_demandeur,
tete_cde_fournisseur.numero_cde,
tete_cde_fournisseur.date_cde,
tete_cde_fournisseur.code_fournisseur,
tete_cde_fournisseur.type_col,
tete_cde_fournisseur.indice_revision_cde_client,
tete_cde_fournisseur.code_devise,
tete_cde_fournisseur.taux_escompte,
tete_cde_fournisseur.total_lignes,
tete_cde_fournisseur.code_mode_rgl,
tete_cde_fournisseur.code_livraison,
tete_cde_fournisseur.responsable_cde_fournisseur,
ligne_cde_fournisseur.numero_ligne,
ligne_cde_fournisseur.code_article,
ligne_cde_fournisseur.reference_1,
ligne_cde_fournisseur.designation_2,
ligne_cde_fournisseur.designation_3,
ligne_cde_fournisseur.unite_approvisionnement,
ligne_cde_fournisseur.quantite_commande,
ligne_cde_fournisseur.prix_unitaire,
ligne_cde_fournisseur.remise,
ligne_cde_fournisseur.delai_livraison,
commentaire_cdefourn.commentaire,
commentaire_cdefourn_ligne.commentaire,
fournisseur.nom_fournisseur,
fournisseur.adresse1,
fournisseur.adresse2,
fournisseur.adresse3,
fournisseur.code_postal,
fournisseur.ville,
fournisseur.telephone,
fournisseur.telecopie,
fournisseur.nbr_jour_retour_ar,
(vtable.vpar1) transport,
(vtable.vpar1) responsable,
(vtable.vpar1) reglement,
(vtable.vpar1) demandeur
FROM
tete_cde_fournisseur,
ligne_cde_fournisseur,
commentaire_cdefourn,
commentaire_cdefourn_ligne,
fournisseur,
vtable

WHERE
ligne_cde_fournisseur.numero_cde = tete_cde_fournisseur.numero_cde
and commentaire_cdefourn.numero_cde = tete_cde_fournisseur.numero_cde
and commentaire_cdefourn_ligne.numero_cde = tete_cde_fournisseur.numero_cde
and fournisseur.code_fournisseur = tete_cde_fournisseur.code_fournisseur
and vtable.vcle20 = tete_cde_fournisseur.code_demandeur
and vtable.vcle10 = 'CODEDEMAND'

j'ai possibilité de faire un formule en VB sur un champs de cette view si jamais il n'est pas possible de récup les différente valeur de vpar1, jespère que je suis compréhensible
merci davance pour votre aide
Jordinette

mercredi 25 mai 2005 à 13:44:35 | Re : requete simple sur table complexe

tecman

Si j'ai compris ta demande, pour 4 valeurs de vcle10 et lié le champ vcle20.
Une solution consisterais à utiliser 4 fois la vtable et faire 4 fois les liens.
Ne pas oublier d'utiliser des alias pour chaque vtable.

Tu aurais ainsi une requête du genre :
...
FROM
tete_cde_fournisseur,
ligne_cde_fournisseur,
commentaire_cdefourn,
commentaire_cdefourn_ligne,
fournisseur,
vtable vt1,
vtable vt2,
vtable vt3,
vtable vt4

WHERE
...
and vt1.vcle20 = tete_cde_fournisseur.code_demandeur
and vt1.vcle10 = 'CODEDEMAND'
and vt2.vcle20 = tete_cde_fournisseur.code_responsable
and vt2.vcle10 = 'CODERESPONS'
and vt3.vcle20 = tete_cde_fournisseur.code_reglement
and vt3.vcle10 = 'CODEREGLEMENT'
and vt4.vcle20 = tete_cde_fournisseur.code_transport
and vt4.vcle10 = 'CODETRANSPORT'

Tecman


Cette discussion est classée dans : ligne, code, tete, fournisseur, cde


Répondre à ce message

Sujets en rapport avec ce message

calcul des taux pour chacune des ligne de colonne d'une table sur sql [ par toukourou ] Bonjour à tous! J'ai envie de calculer sous sql server un taux pour toutes les lignes correspondant à un code de personne, le taux serait calculer de une ligne par valeurs [ par nitho ] Bonjour à tous, voilà je cherche à faire une requête qui me renvoie la première ligne de chaque valeur d'un champ. c'est à dire que j'ai disons une t Nettoyer une table [ par anwarov ] Bonjour tout le monde, je suis débutant en SQL et je rencontre une difficulté bloquante et je ne trouve aucune solution. Donc je possède une table et erreur d'exécution de la requête: INSERT INTO [ par natier ] Bonjour, Je suis en train de développer une application web et j'ai un problème d'exécution de requête. Dans mon formulaire j'ai une zone de liste demande du code sql pour la comptabilité générale [ par supteche ] Bonjour,je suis un étudiant spécialité informatique,dans le cadre de notre pfa nous sommes amenés à faire un logiciel de gestion de la comptabilité gé probleme requete sql java [ par profiter ] bonjour, j'ai les deux tables suivantes : [code=java] public static final String table_concerne_devis__Name = "concerne_devis"; static final String[ MCD ???? [ par yazidak1 ] Bonjour j'ai comme mini-projet "La Gestion Des Stocks" d'une ETP Après avoir tracé les tables client,fournisseur, article .... il me reste le MCD( M Incrementation d'une date dans le SQL !!! [ par idrissiilias ] Bonsoir, Je cherche à savoir comment je peux incrémenter une date en SQL voici la requête [code=autre]location.datefin<=C.Date(31/1/2010)[/code] ET help [ par khoukha12 ] slt J'ai un problème je l'espère vous m'aider . Mon problème dans SQL SEVER 2005 il n'accepte pas le mot clé "AS" : [code=autre]create type type_Coo requête sur date [ par tif27940 ] Bonjour voila j'ai une table contact avec un champ dte_inactif qui soit contient une date soit est vide et je souhaite afficher les contacts qui on un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,903 sec (3)

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