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

Deski Discussion :

[BO 6.5] Utilisation d'une table sans jointure ?


Sujet :

Deski

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [BO 6.5] Utilisation d'une table sans jointure ?
    Bonjour,

    Je débute avec BO, et je me demande si ce qui suit est faisable.

    Nous maintenons une table (MySQL) avec une seule ligne contenant un certain nombre de paramètres (paramètres que nous modifions à la main).
    J'ai besoin de ces paramètres pour faire certaines jointures dans mon univers (par exemple, récupérer le paramètre "dateDeReference" pour une clause "where date = dateDeReference").

    Ma table de paramètres n'a évidemment aucun lien avec les autres tables de mon univers, elle n'a aucune jointure. Mais dans ce cas, je ne peux pas utiliser mes champs paramètres dans mes jointures...

    J'ai donc trois questions liées
    1°) Est-ce possible ?
    2°) Si oui, comment dois-je procéder ?
    3°) Si non, y a-t-il moyen d'utiliser un fichier de paramètres (fichier txt, xls ou autre) ?

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonsoir NKC78,
    1) La réponse est OUI.

    2) Une fois importée ta table PARAMETRES

    Tu peux faire une jointure avec le champ qui contient la date de référence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    WHERE MATABLE.LADATE = PARAMETRE.dateDeReference
     
    Mais encore (je suppose que tu as droit au between dans MySQL 
    je ne fais que de l'Oracle)
     
    WHERE PARAMETRE.dateDeReference between MATABLE.DATEDEBUT and MATABLE.DATEFIN
     
    Tu peux même en associer plusieurs
    WHERE
    MATABLE.LADATE = PARAMETRE.dateDeReference
    AND
    MATABLE.DUREEMAX = PARAMETRE.DurééMaximum
    SEUL CONTRAINTE :
    si tu veux utiliser ces jointures avec PARAMETRES sur deux tables
    • ayant des jointures entre elles ils te faut créer un alias PARAMETRES2

    • Mais si elles n'ont aucune jointure entre elles elles peuvent s'appuyer toutes les deux sur une seule Table PARAMETRES à condition que la présence de boucles éventuelles (faire un test d'intégrité) fasse l'objet d'une résolution par les contextes.
    Mais c'est une autre histoire ....

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai bien essayé de faire ça, mais ça ne marche pas, j'ai une erreur "unknown column 'maTable.maDate' in 'where clause'"

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Si tu ne veux pas créer de jointure dans ton univers, tu peux utiliser une sous-requête:
    Condition avec un "dans" et utiliser une sous requête.

  5. #5
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT date
    FROM taTable
    WHERE taDate=(
           SELECT dateReference
           FROM tableParametre
    )

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT date
    FROM taTable
    WHERE taDate IN (
           SELECT dateReference
           FROM tableParametre
    )

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Je viens de me rendre compte que la base utilisée était MySQL.
    Est-ce que la version utilisée supporte les sous requêtes?

    Sinon, merci à Ayana pour la clarification de mon explication

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui, MySQL supporte bien les sous-requêtes, et là ça marche

    Merci à tous pour votre aide.

  8. #8
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    Un petit clic sur Résolu, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/04/2012, 07h42
  2. Puis-je utiliser une table sans clé primaire?
    Par laomaotou dans le forum Zend Framework
    Réponses: 4
    Dernier message: 04/10/2011, 15h39
  3. Réponses: 10
    Dernier message: 27/08/2008, 12h06
  4. Pb avec l'utilisation d'une table de jointure
    Par cissou06 dans le forum Ruby on Rails
    Réponses: 19
    Dernier message: 14/03/2008, 11h40
  5. Lister le contenu d'une table sans connaitre ses champs
    Par Google.be dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 30/03/2004, 15h23

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