|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
Bonjour,
Je suis en train d'étudier l'article sur les méta données pour les besoins de mon progiciel et j'ai quelques soucis. La fin de l'article donne deux requêtes qui ne fonctionnent pas : Code :
En effet, si je comprends bien comment cela fonctionne, il ne me semble pas possible d'écrire dans la même requête : Code :
Pour que la requête marche, il faut faire autant de jointures que de caractéristiques recherchées. Première question : suis je dans le vrai ? Mon deuxième problème est que je ne connais pas le nombre de caractéristiques à l'avance, je ne peux donc pas utiliser la technique des jointures multiples. En fait je dois écrire une requête qui sélectionne des lignes dans une table. Le nombre de colonnes de cette requête est fixe. Pour chaque ligne de cette requête, je dois trouver une autre ligne dans une autre table. Vous allez me dire que c'est tout simplement par une jointure. Oui mais, je ne connais pas le nombre ni le nom des colonnes qui servent à la jointure. C'est pourquoi je cherche du coté des métas données. Je pense que je peux m'en sortir avec ça. Deuxième question : suis je obligé de passer par du SQL dynamique (j'aimerais éviter) ou bien existe t-il une technique pour faire cela ? Merci pour votre aide... |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Code :
A lire sur les requêtes récursives : http://sqlpro.developpez.com/cours/s...te-recursives/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||
|
00
|
|
|
#3 | |||||
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
Citation:
Code :
Code :
Je suis sous 2008 R2 Dev edition. Peut être parceque je n'ai pas de données dans les tables ( ou juste une ligne ou deux ) ?? Qu'en pensez vous ? La deuxième syntaxe est elle correcte et efficace ? Merci ! |
|||||
|
|
00
|
|
|
#4 | |
|
Candidat au titre de Membre du Club
![]() Gratien Inscription : octobre 2009 Messages : 65 ![]() |
Citation:
![]() ![]() Mais en fait je n'ai pas l'impression que cela peut s'adapter à mon cas. Si je vous suis bien, vous imaginez que j'ai une saisie utilisateur. Ce n'est pas le cas. Ma structure de base est en cours de conception. Je cherche, avant de décrire mes tables, à dégrossir la requête pour faire la structure la plus adaptée à mon problème. Je ne sais pas si ma méthodologie est la meilleure, mais en général, c'est pour moi plus facile. Donc j'ai deux tables T1 et T2 avec leurs colonnes une clef sur un entier. T1 et T2 n'ont rien à voir l'une avec l'autre. Je souhaite réaliser une jointure entre T1 et T2 sur des colonnes de T1. La difficulté c'est que le nombre, la nature et le nom des colonnes doit être paramétrable. J'ai compris que la requête qui permettra de lire T2 à partir de T1 sera dynamique et du style de celle que j'ai posté dans mon message précédent. Je me demande par contre comment représenter ce paramétrage dans la base. Y a t il des exemple de cela quelque part ??? PS : cerise sur le gâteau la requête devra aussi être triée selon des critères paramétrables.... PS2 : si cela est plus parlant, je peut proposer des scripts bateaux pour décrire mon souci Merci ! |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com