Accueil > Forum > > > > requete conditionnelle complexe
requete conditionnelle complexe
samedi 13 novembre 2010 à 09:20:51 |
requete conditionnelle complexe

sealake70
|
 Bonjour,
je suis débutant et J'ai une requete conditionnelle multiple a créer
j'ai besoin de recuperer une valeur quand les "phrases" d'attributs A1.B2 (A1 et B2) ou A1/B2 (A1 ou B2) ou encore A1<B1/C1 ( (A1 et B1) ou (A1 et C1) ) ou enfin A1(B1) (A1 et exclusion de la valeur 1 de B ) verifient une condition.
J'ai donc 2 tables une Descriptif avec toutes les attributs de choix et une autres qui contient les phrases d'atributs.
Merci d'avance pour votre aide.
|
|
lundi 29 novembre 2010 à 11:20:30 |
Re : requete conditionnelle complexe

aieeeuuuuu
|
bonjour
en quoi peut-on t'aider ?
donne au moins la structure des tables, et un petit exemple vu la nature du problème, car la on ne comprend pas trop bien ce que tu veux faire, et surtout ou est ton problème exactement
|
|
mardi 30 novembre 2010 à 13:36:52 |
Re : requete conditionnelle complexe

sealake70
|
Voici la structure de mes donnees
premiere table
REF Coef Affectation
X 1 A1.B2*
Y 2 A1(B2)*
Z 5 A1<B1/C1*
Deuxieme table
test
A1
B1
C3
D5
....
Ce que je chercherche c'est pour "test" je souhaite toutes les reference qui peuvent composer "test" en croisant les 2 tables.
Merci d'avance
|
|
mardi 30 novembre 2010 à 14:15:58 |
Re : requete conditionnelle complexe

aieeeuuuuu
|
J'y vois déjà un peu plus clair, mais c'est pas encore ca...
veux-tu "interpréter" le contenu de ta colonne "Affectation" en langage SQL ?
Que cherche tu a récupérer au final.
peux-tu donner un exemple de ce que tu attend a partir du jeu que tu as fourni
aussi, quel est ton SGBDR ?
|
|
mercredi 1 décembre 2010 à 10:01:40 |
Re : requete conditionnelle complexe

sealake70
|
Effectivement je dois interpreter la colonne "AFFECTATION " pour ressortir les references qui devront composer "test".
Au final j'ai besoin comme resultat d'1 etat tableau contenant
les ref (test) avec leur coef et leur affectation. le but etant de les ré-écrire dans un système la nomenclature "test".
mon SGBD sera soit access ou windev. tout dépend de la complexité de programmation.
|
|
mercredi 1 décembre 2010 à 14:13:49 |
Re : requete conditionnelle complexe

aieeeuuuuu
|
ta deuxieme table (test) ne contient qu'une seule colonne ?
tu cherche donc a savoir quelle lignes de la premiere table ont une "affectation" qui corespondent au contenu de la table test ?
peux-tu donner le recordset attendu par rapport a l'exemple que tu as fourni, ca aidera a comprendre, et surtout a etre sur que ce qu'on a compris, c'est bien ce qu'il fallait comprendre :)
|
|
jeudi 2 décembre 2010 à 10:47:07 |
Re : requete conditionnelle complexe

sealake70
|
Le recordset correspond l'exemple de la premiere table.
Ce qui faut comprend c'est que j'ai la possibilité extraire une table de l'ensemble des affectations des references.
J'ai une table (test) qui est initialisée par un autre systeme que l'extraction de la première table et je dois créer une nouvelle affectation des references de cette table par anamolie de l'existant.
Faute de connaissances, je me creuse la tête en VBA pour espèrer y arriver.
Merci pour votre aide. et pour votre ecoute.
|
|
jeudi 2 décembre 2010 à 11:07:43 |
Re : requete conditionnelle complexe

aieeeuuuuu
|
J'ai du mal a comprendre...
Le problème n'est pas simple, et pour pouvoir t'aider, il faudrait un exemple :
1/ données dont tu disposes a l'origine (structure complete des tables si possible)
2/ résultat attendu a partir de ces données
ca permettra de comprendre le problème dans un premier temps, et de tester aussi avant de proposer un début de solution.
|
|
jeudi 2 décembre 2010 à 12:37:00 |
Re : requete conditionnelle complexe

sealake70
|
La structure est exactement celle de l'exemple de la table
le resultat attendu
c'est quand j'interroge "Req_test",
je restitue les references affectées.
Effectivement ce n'est pas simple.
si je repars de l'exemple des 2 tables voici le resultat attendu :
Req_test
Ref coef affectation
Y 2 A1(B2)*
Z 5 A1<B1/C1*
commentaires:
Y parce que test contient A1 et ne contient pas B2 mais B1)
Z parce que test contient A1 et B1
je ne vois quoi dire de plus.
|
|
jeudi 2 décembre 2010 à 14:31:37 |
Re : requete conditionnelle complexe

aieeeuuuuu
|
ok c'est clair maintenant...
et c'est clair aussi que tu va galerer...
en fait il faut que tu parse la colonne affectation, afin de la traduire en clause WHERE de ta requete SQL
effectivement je pense qu'il vaut mieux que tu partes sur une solution externe a la base pour realiser ca, car le parsing de chaines de caracteres n'est pas le fort de SQL.
Cela dit, je ne connais que très peu access, quant a Windev, ce n'est a ma connaissance pas un SGBDR mais un IDE.
j'espere que tu as du temps devant toi, car ca risque de ne pas etre simple mais voici une piste vers laquelle je m'orienterai pour parser en VB une Affectation :
je commencerai par une première passe pour développer les affectations, par exemple transformer :
A1<B1/C1
en :
1/(A1.B1)/(A1.C1) (sera moins optimisé pour la requete qu'elle engendrera)
ou mieux encore (et pas forcement plus compliqué ):
2/ A1.(B1/C1)
A partir de la, le plus gros est fait, il ne reste plus qu'a transformer ca littéralement en SQL, en remplacant :
A1 -> EXISTS(SELECT * FROM test WHERE valeur = 'A1')
B1 -> EXISTS(SELECT * FROM test WHERE valeur = 'B1')
etc
puis les . par des AND
et les / par des OR
sans toucher aux parenthèses...
rajouter cela a la fin d'un "SELECT * FROM Table1 WHERE " et ca devrait commencer a donner quelque chose...
Il n'y aura plus qu'a executer
Par contre c'est loin d'être optimisé mais je ne sais pas quelle quantité de données tu t'attends a traiter au final et avec les index bien placés, ca doit pouvoir être assez rapide quand même. la tout dépend de tes besoins. Après bien sur, pour ce type de problème, le nombre de façons de faire est sans limite, si ce n'est celles de ton imagination...
combien de lignes penses-tu avoir en prod dans chacune de tes tables ?
ATTENTION aussi :
avec cette méthode, vu que tu exécute une requête générée avec du code, tu t'expose aux fameuses attaques de type SQL Injection. il faut donc que tu t'assure de la fiabilité des données à partir de laquelle tu construis ta requête, en l'occurrence de celles contenues dans la colonne "Affectation"
Bon courage, et tiens nous au courant de l'évolution
(et n'hésite pas si tu as d'autres questions)
|
|
Cette discussion est classée dans : requete, conditionnelle, a1, b1, b2
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
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|