Problème de requête [Résolu] - SQL/NoSQL - Programmation
Marsh Posté le 04-03-2010 à 14:45:38
Ca passe mais avec deux requetes, une j'ai po trouvé
La premiere est une requete analysé croisée.
La seconde exploite la premiere, contient un champ calculé et renvoie la bonne table.
Marsh Posté le 04-03-2010 à 15:33:09
Les requetes access ca marche comment? Tu peux les faires en SQL?
Marsh Posté le 04-03-2010 à 15:35:50
strop bien tu fais tout à la souris pour ceux comme moi qui peuvent pas blairer le sql ^^, pour la création d'une requete, tu choisis un mode "cliquodrome" ou un mode sql tradi.
Marsh Posté le 04-03-2010 à 16:39:04
j'avoue que j'ai un peu de mal avec le "cliquodrome", je passe souvent par le sql dès que ca devient un peu relou ^^
analyse croisée ? je vais voir comment ca marche
edit: ca donne quoi comme mot clé l'analyse croisée ?
Marsh Posté le 04-03-2010 à 17:01:39
Ah oki, je pense commencer à comprendre.
J'ai donc fait une requete croisée avec :
num, date : en tete de ligne
code : en tete de colonne
code : valeur
du coup, j'obtiens ceci :
Code :
|
et après, avec la seconde, je n'ai plus qu'à recupérer toutes les lignes pour lesquelles PAAAAA est supérieure à OAAAA
Excellent, je connaissais vraiment pas du tout cette fonctionnalité !
Merci
edit : et bien entendu penser dans le champ calculé à verifier que c'est > 0 ou null.
Vu que certaines valeurs ne sont pas renseignées, donc nulles ^^
Encore merci
Marsh Posté le 04-03-2010 à 17:07:22
Après P et O, c'est forcément AAAA ou ca peut etre autre chose?
Sinon en SQL Oracle, ca donnerait un truc comme ca (de tete hin, pas taper si ya des erreurs):
select p.num, p.date
from (select num, date, substr(code,2) code from t where code like 'P%') p, (select num, date, substr(code,2) code from t where not(code like 'O%')) o
where p.num = o.num and p.date = o.date and p.code = o.code
C'est simplifiable si tu t'attends à avoir que des AAAA.
Marsh Posté le 04-03-2010 à 17:17:41
gocho a écrit : Ah oki, je pense commencer à comprendre. J'ai donc fait une requete croisée avec :
Excellent, je connaissais vraiment pas du tout cette fonctionnalité ! Merci edit : et bien entendu penser dans le champ calculé à verifier que c'est > 0 ou null. Encore merci |
yep exactement ça que j'avais fait
Marsh Posté le 04-03-2010 à 14:07:39
Bonjour,
Je suis actuellement sous Access 2000, et j'ai un petit problème de requete.
Soit la table T (num, date, code)
avec les valeurs suivantes :
Je tente de récupérer l'ensemble des lignes (num, date) pour lesquelles :
il existe un code commencant par P et pas de code commencant par O correspondante
Par exemple, les num 22222 et 33333 sont retournées (il y a un P, mais pas de O)
Pas de problème pour ces deux là.
Mais je galère plus lorsqu'il y a des O, mais que le nombre de P est supérieur.
Par exemple, je devrais également récupérer la ligne
car pour ce couple (num, date) il existe un P pour lequel il n'y a pas de O.
J'ai beaucoup de mal à voir comment construire ma requete.
Si quelqu'un avait un petit coup de pouce, une direction dans laquelle m'orienter (intersect, having ?)
Pas une solution toute faite, j'préfère trouver avec un peu d'aide
Merci
Message édité par gocho le 04-03-2010 à 17:17:01