SQL tout tout début - SQL/NoSQL - Programmation
Marsh Posté le 08-06-2005 à 15:54:28
Tu px pas faire une seule requete,
je connais pas la syntaxe de ce langage mais je vais essaye de te pondreun truc :
Code :
|
Essaye ça mais je te garantie rien !
(enfin dans le SQl que je connais, ca fonctionnerais sans prob il me semble
Marsh Posté le 08-06-2005 à 16:06:42
Et ben ça marche nickel!C'est même super simple.
Je me suis un peu compliqué la vie sur ce coup-là.
Merci.
Marsh Posté le 08-06-2005 à 15:45:55
Salut!
Je débute en sql et base de données et c'est un peu fouillis,bref.Je travaille sous SAS.
Mon problème (simplifié) :
J'ai deux tables :
La première, finances,avec une deux variables :
Labo, budget
La seconde,agents, avec 4 variables :
Nom, Labo, Matricule, Grade
Je dois extraire de la table 2 les noms des personnes appartenant à un labo dont le budget est dans une certaine fourchette.(budget apparent dans la table 1,donc).
J'y arrive uniquement en créant une table intermédiaire qui sélectionne les bons labos à partir de la table 1, puis en appliquant la contrainte labo=labo2 sur la table 2.Mais tout en un , pas possible
Du coup ca fait un pâté classique du débutant en prog :
proc sql;
create table finances2 as
select labo as labo2
from finances where budget between 50 and 350;
select nom,matr,grade from agents,finances2
where labo = labo2 ;
quit;
Ce qui ne passe pas par exemple :
proc sql;
select nom,matr,grade
from agents,finances
where labo = (select labo from finances where budget between 50 and 350);
quit;
avec pour erreur:
"Référence ambiguë, la col. labo se trouve dans plus d'une table"
Comment le faire plus simple,svp? Merci.