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

MS SQL Server Discussion :

Création automatique de jointure


Sujet :

MS SQL Server

  1. #1
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut Création automatique de jointure
    Bonjour,

    Je souhaite développer un applicatif qui créer automatiquement des requêtes SQL à partir des tables et colonnes d'une base de données (à la manière d'un générateur de requête mais "sauce maison").

    Actuellement, j'ai développé une interface qui me permet de créer un OUTIL contenant une LISTE DE COLONNE provenant de plusieurs TABLES d'une base de données.

    Voici l'interface :Nom : jml.jpg
Affichages : 372
Taille : 43,9 Ko

    Dans mon interface, l'OUTIL nommé "OAPD TEST" (en haut de l'image) et contient les COLONNES : "NUM_TRT", "DATA_ID" ... des tables "SLE_L1", "SLE_L2" (en bas de l'image). Je voudrais maintenant constituer le SELECT automatiquement entre ces tables et pour ces colonnes, sachant que je dois respecter la structure de la base de données source "LKMAS_MAIS".

    Pour cela, j'ai commencé à référencer les jointures entre les tables de la base de données sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TABLE             TABLE PARENT
    SLE_L2            SLE_L1
    SLE_L1            SLE_L0
    SLE_L1            STOCK_S3
    STOCK_S3       STOCK_S2
    STOCK_S2       STOCK_S1
    SLE_L0            EXPERIMENT
    MLE_L0            EXPERIMENT
    Le problème est double :

    => En fonction des colonnes passées dans l'outil, il faut pouvoir ordonner les jointures entre les tables en fonction de l'architecture de la base de données
    => Il faut pouvoir effectuer toutes les jointures adéquates même si aucune colonne d'une table est présente dans l'outil, exemple si nous avons des colonnes de SLE_L2 et SLE_L0 mais pas de colonne de SLE_L1, il faut pourvoir assurer la jointure.

    Je demande votre aide !

    Cordialement
    while (true) echo 'comique';
    Du comique de répétition ...
    Pour des questions de lisibilité, utilisez la balise [code]
    Si votre problème est résolu, n'oubliez pas le tag

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Il faut que l'utilisateur choisisse de toute façon le chemin, car il peut y en avoir plusieurs.

    Mettons par exemple (pas super limpide mais bon) une table de livraison et une table de lignes de livraison.

    La livraison est assurée par un magasin, qui est donc au niveau de l'entête.
    Mais chaque ligne de la livraison peut potentiellement partir d'un magasin différent de celui d'entête.

    Donc si tu demande le magasin alors que tu as déjà l'entête et les lignes de la livraison, ton système ne saura pas si c'est le magasin d'entête qui doit être pris, ou celui des lignes.

    Et il n'est pas rare d'avoir des cycles bien plus complexes.

    Sinon, avec une CTE récursive, tu devrais pouvoir remonter jusqu'à 37000 niveaux de clés étrangères. au détail près que si tu tombes sur une boucle, ça va être la misère (table hiérarchique par exemple).
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. [VB.NET]Création automatique de labels
    Par vylsain dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/04/2006, 16h57
  2. création automatique de fichier html
    Par oclone dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 03/02/2006, 14h53
  3. []Création automatique d'utilisateurs
    Par SaeZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 27/10/2005, 13h38
  4. Création automatique d'exécutable
    Par bourdon dans le forum Langage
    Réponses: 12
    Dernier message: 13/06/2005, 21h17
  5. création automatique de table avec createdb??
    Par champion dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/09/2004, 09h01

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