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 :

Recherche de toutes les combinaisons possibles


Sujet :

Langage SQL

  1. #1
    Membre confirmé Avatar de Frog74
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 171
    Par défaut Recherche de toutes les combinaisons possibles
    Bonjour , je suis sujet à un cas assez difficil à gerer.Je travail sous access.
    J'ai une table Evenements composée de :
    IDEvenement (numérique clé primaire)
    NomEvenement (Texte)
    Status (oui/non)
    Ces evenements sont associés à une machine , une machine a N evenement.
    Une carte electronique remplie une table avec des evenements brut.Ensuite je sais que par exemple l'evenement 1 correpond à l'ouverture d'une porte et l'evenement 2 à sa fermeture.DOnc je renseigne dans ma table evenement manuellement que si IDEvenement = 1 , NomEvenement = EtatPorte et Status = OUI.

    Je dois , selon se qui se passe sur la machine en déduire des modes de fonctionnement. Seulement , j'ai autant de modes possible que d'associations d'evenements.C'est-à-dire , si j'ai 2 Evenements j'aurai 2^2 modes possibles.
    Faisons correspondre nos Evenements :
    2 evenements ont chacun 2 status, je creer ma table de vérité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Evt1 Evt2 Mode
    0     0       1
    1     0       2
    0     1       3 
    1     1       4
    Ce que je voudrais c'est : par une requête gerer tous les cas possibles en associant les evenements.Et ensuite remplir une table avec chacune de ses ligne qui correspond à un cas de ma table , soit 2^2 * 2 lignes , car je ne peut pas associer plusieurs evenements à un seul mode.
    La table serait du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    IDCas  NomEvt        Status  Mode
    1        EtatBroche    NON       1 
    2        EtatManuel    NON       1 
    3        EtatBroche    OUI        2
    4        EtatManuel    NON       2 
    5        EtatBroche    NON       1 
    6        EtatManuel    OUI        1 
    7        EtatBroche    OUI        1 
    8        EtatManuel    OUI        1
    Le but est de pouvoir pour chaque machine générer tous les modes possible et de laisser à l'utilisateur le choix de leur mettre un nom, pour pouvoir ensuite selectionner dans une table remplie par carte electronique les date correspondante aux evenements.les Evenements de la table remplie par la carte seront tous distingués par un ID.
    TAble Carte :
    IDEntrée
    DateEntrée
    IDEvenement
    IDMachine

    Je lierais IDEvenement à L'IDEvenement de la table Evenements et donnerais un non ainsi qu'un status a chaque evenement de maniere à les regrouper par type.
    Je suis débutant en programmation et j'ai du mal à construire la chose,je me demande si je dois le faire en une requête SQL ou en VBA.

    Si vous avez une idée ? je m'arrahce les cheveux mais rien ne veut sortir.
    svp

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Une piste :

    Si vous avez une table A et une table B, la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT A.Id, B.Id 
    FROM A, B
    Vous renvoie toutes les combinaisons de A.Id avec B.Id. Ca s'appelle un produit cartesien (aussi appelée jointure croisée).

  3. #3
    Membre confirmé Avatar de Frog74
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 171
    Par défaut
    Merci

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Pour le même résultat mais normalisé ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT a.id, b.id
    FROM a
    CROSS JOIN b;

Discussions similaires

  1. Afficher toutes les combinaisons possibles
    Par NELLLY dans le forum MATLAB
    Réponses: 1
    Dernier message: 07/01/2008, 21h09
  2. Algo pour toutes les combinaisons possibles
    Par rantanplan08 dans le forum Général Java
    Réponses: 6
    Dernier message: 03/01/2008, 09h45
  3. Réponses: 5
    Dernier message: 18/06/2007, 20h52
  4. Réponses: 16
    Dernier message: 20/10/2006, 16h31
  5. toutes les combinaisons possibles
    Par marocleverness dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 29/05/2006, 00h11

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