begin process at 2010 03 16 08:56:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

Requete qui sort tous les chemins parents


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

Requete qui sort tous les chemins parents

jeudi 14 juin 2007 à 15:31:09 | Requete qui sort tous les chemins parents

aztcaLISS

Salut,

Je travail avec ms access 2003.

J'ai une table nommé "Groups".
Elle contient 2 colonnes: Group(nom du groupe) et Path(Chemin dont un groupe a des droits).
Voici un example:
-------------------------------------
Group    Path
-----      ----
Grp1     C:\folder1\
Grp1     C:\folder2\
Grp1     C:\folder2\Test\sub\
Grp1     C:\folder2\sub\
Grp1     D:\
Grp2     C:\folder1\
Grp2     C:\folder1\sub\
-------------------------------------
Grp1 et Grp2 ont donc des droits sur les dossier montré ci-haut.

Ce que je veux faire, c'est une requete qui sort tous les chemins parents des diffrerents groupes.
Par example, le chemin "C:\folder2\" de "Grp1" est parent de "C:\folder2\Test\sub\" et de "C:\folder2\sub\".

la reponse de cette requete serait donc:
-------------------------------------
Group    Path
-----      ----
Grp1     C:\folder1\
Grp1     C:\folder2\
Grp1     D:\
Grp2     C:\folder1\
-------------------------------------

est-ce qu'une telle requete est possible?

merci

azt

jeudi 14 juin 2007 à 16:43:29 | Re : Requete qui sort tous les chemins parents

dominique.stock

Bonjour ,
tu fais :
Select * from groups where path like 'C:\%'  and path<>'C:\'
et tu auras tous les enfants de c:\
C'est du sqlserver , adaptes le en access ....

Dom
jeudi 14 juin 2007 à 17:14:45 | Re : Requete qui sort tous les chemins parents

aztcaLISS

Ca ne peut pas fonctionner car le chemin parent n'est pas obligatoirement "c:\".
Comme dans l'exemple que j'ai mis, le "Grp1" n'a pas directement de droit sur le le "c:\".

Il a acces a "C:\folder2\" mais non directement a "C:\".
"C:\folder2\" est donc le parent de n'importe quel chemin en dessous de lui.

Par example le "C:\folder2\Test\sub\" et le "C:\folder2\sub\" sont des chemins enfants de "C:\folder2\"

De plus, "C:\folder1\" et " D:\" sont tous les 2 des chemins parents car ils ne contiennent aucun enfant et ceci pour le "Grp1".

Je pense qu'il faut faire un GROUP BY sur la colonne "Group" pour grouper nos groupes ensemble. De plus, un GROUP BY sur la colonne "path" pour grouper les paths similaire mais ceci avec une restriction qui empeche que "C:\folder2\sub\" soit visible car "C:\folder2\" existe deja.

azt
lundi 18 juin 2007 à 13:16:38 | Re : Requete qui sort tous les chemins parents

lofo18

Salut
je sais pas si ça peut t'aider, mais c'est peut etre un élement de réponse

Renvoi tous les parents ayant un enfant dans la colone path:
SELECT G1.Group, G1.Path
FROM Groups as G1, Groups as G2
WHERE G2.path LIKE G1.path + '?*'
GROUP BY G1.Group, G1.Path

Recupére tous les enfants, donc après ça, il ne te reste plus qua faire un NOT EXISTS pour récupérer tous les autres (donc les parents):

SELECT G1.Group, G1.Path 
FROM Groups as G1, Groups as G2
WHERE G1.path LIKE G2.path + '?*'
GROUP BY G1.Group, G1.path

je ne suis pas sur que ce soit sans faille, mais j'espère que ça t'aidera

Par contre, pour moi D:\ n'est pas considéré comme un parent, car il na pas d'enfant.
il sera parent si tu as un tuple dans ta table du genre :
-------------------------------------
Group    Path
-----      ----
Grp1     C:\folder1\
Grp1     C:\folder2\
Grp1     C:\folder2\Test\sub\
Grp1     C:\folder2\sub\
Grp1     D:\
Grp1     D:\folder1\
Grp2     C:\folder1\
Grp2     C:\folder1\sub\
-------------------------------------
(en tout cas pour la premiere requete que j'ai marqué)

bon courage

lundi 18 juin 2007 à 21:40:57 | Re : Requete qui sort tous les chemins parents

aztcaLISS

Salut,

En fait, j'avais mal analyser mon probleme. Je viens de m'apercevoir qu'il est beaucoup plus complexe que ce que j'avais mentionner ci-haut.

Je ne pourrais donc pas faire de requete pour le resoudre. Je vais devoir faire une fonction pour ca.

Mais je vous remercie quand meme pour vos reponses.

a+

azt


Cette discussion est classée dans : requete, grp1, folder2, folder1, grp2


Répondre à ce message

Sujets en rapport avec ce message

Requete SQL via Siebel [ par riri13 ] Bonjour,Dans la société ou je travail nous utilisons Siebel surcouche d'oracle.Je dois faire des extraction de données pour le reporting mais je ne di Requete INSERT sous ACCESS [ par Fredon88 ] J'ai une requete SQL sous ACCESS a faire je dois faire une requete d'insertion dans la table client qui contient les champs suivant: -Client_num -Clie Requete de selection (ligne autoincrementer) [ par joetecher ] --------------------------------------------------------------------------------Salut à tous Voila j'ai un table qui s'appelle " Produits " avec les c Help pour une requete !!! [ par Rouk ] Bonjour,Je developpe une application en vb.net qui a une connection a un serveur SQL.Dans mon application, je remplis un datagrid par une requete, voi enregistrer le resultat d'une requete dans un fichier TXT [ par enrageur ] voila, j'aimerais en registrer le resultat d'une requete du type :SELECT * FROM TOTOdans un fichier txt. Je crois qu'il y a une commande pour cel a me aide pour une requete [ par enrageur ] Voila je programme sous un systeme d'explotation qui ressembe a UNIX et sous Oracle. quand je tappe une requete du type :SELECT * FROM TOTO;tous le fi bloquer sur une requete [ par yubi ] Salut a tous,Le but :Dans une table de clients (chaque client est identifie par une chaine de carateres (concatenat) composeé de plusieurs informatio requete insert?????? [ par yubi ] plop!!rhoooo.....yé né comprend po.voila mon insert INSERT INTO rBaseDoublons ( Téléphone )SELECT [Téléphone]FROM rBaseDoublonsBisWHERE (([rBaseDoublo probleme en SQL [ par raziel62 ] bonjour, j'ai un probleme sur une requete SQLJ'ai fait une requete qui donne ce resultat15/01/2005    1016/01/2005    1418/01/2005     5maintenant je requete SQL aider mois SVP [ par spoque ] Hello, Voila mon problème: j'ai une table comme: CREATE TABLE `users` (  `ID` int(10) NOT NULL default '0',  `Name` varchar(50) default NULL,  `Passwo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,421 sec (4)

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