Requete Access

Fermé
Didoch54000 Messages postés 308 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 27 décembre 2012 - 28 févr. 2008 à 15:28
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 - 29 févr. 2008 à 00:55
Bonjour à tous ,

Voila ce que je cherche à faire :
J'ai deux tables :
 - CentreCout
      Service (Alpha)
       CostCenter (Num)


 - Asset_Pc
       Champs X , Y , Z
        CostCenter (num)


Mon souhait serai d'avoir une requete qui affiche tout les champs de Asset_Pc avec comme CostCenter la valeur Alpha (issue de CentreCout ) 

Un peu de cette manière :

SELECT  Costcenter.cost_center, Asset_Pc.User,  Asset_Pc.Asset_ID
FROM Asset_Pc, Costcenter
Where Asset_Pc.Costcenter = Costcenter.Service;



Je ne sais pas comment faire en Access (SQL)

Merci pour votre aide

35 réponses

cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 15:37
select *
from asset_pc
where any
(select service. centrecout
from centrecout
where service.centrecout = "alpha");

essaye ca mais jsuis pas tres doué en sql^^
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 15:48
jtexplique ma requette enfin je vais esayer^^ deja faut rejouter la jointure de lotre post ^^

en gros sa donne:
j'affiche tous les champs de asset_pc où le service.centrecout est egale a alpha

le any sert a rien dsl ^^
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 15:37
Je veux t'aider mais j'ai des questions :
est ce que les champs x,y,z sont les champs de asset_pc ?? et quel est le type de ces champs ?
- Asset_Pc
Champs X , Y , Z
CostCenter (num)

costcenter est une clé etrangère ou quoi ?
et explique la requette un peu , parce que je n'ai rien compri !!
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 15:41
arf j'ai oublié la jointure ^^
dans le where rajoute CostCenter .asset_pc = CostCenter .CentreCout
si comme l'a fait remarquer cindy les champs sont bien egaux
0
Didoch54000 Messages postés 308 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 27 décembre 2012 26
28 févr. 2008 à 15:44
Lol désolé donc je m'explique un peu mieux enfin je vais essayer :

Jeux d'enregistrement :

Asset_PC :

____________________
ID | Name | Service
____________________
1 | Bibi | Informatique
____________________
(Informatique est le Service)

Table CostCenter :
_____________________
Costcenter | Service
______________________
5102 | Informatique

Ce que je souhaite :
ResultQuery :
____________________
ID | Name | Service
____________________
1 | Bibi | 5102


J'espère que c'est plus compréhensible
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 15:45
mais je veux comprendre la requette et le shema de BD , est ce que tu peux m'expliquer cythonas ??
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 15:48
alors la jointure est dans le champ "service" ,n'est ce pas ?
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 15:49
a ouais la sa change tous!! la jointure est bien dans le service
0
Didoch54000 Messages postés 308 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 27 décembre 2012 26
28 févr. 2008 à 15:50
Ce sont deux tables distinctes donc pas de jointure ( a la base ) il faut faire la jointure je pense
Comprendre la requête :
En français :
Je veux que la requête me retourne 3 Champs :
Asset_PC.ID, Asset_PC.Name, Costcenter.costcenter mais je ne connai pas bien la syntaxe
0
Didoch54000 Messages postés 308 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 27 décembre 2012 26
28 févr. 2008 à 15:51
Waouuu il se passe trop de truc !
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 15:51
select *
from asset_pc
where service .asset_pc = service .CentreCout
(select service. centrecout
from centrecout
where service.centrecout = "alpha");

sa serai plus sa alors!! t daccord cindy?
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 15:53
bon ba ta plus qu'a tester la requette et tu nous dit si sa marche!!
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 15:56
non , dsl , je ne suis pas d'accord !!
je ne comprend pas pourquoi tu met : ="alpha"
alpha ,si j'ai bien compris c'est le type du champ : alphabetique .
0
Didoch54000 Messages postés 308 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 27 décembre 2012 26
28 févr. 2008 à 16:06
Heu oui en effet alpha pour alphabétique
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 16:00
oui exact c'est pasque j'ai fait copier/coller de celle d'avant^^ heureusement que tu ai là!!! mais il ma enbrouiller c pas du tous les meme truc...entre les 2 versions^^

a la place du alpha tu met informatique
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 16:01
didoch, tu dois créer une jointure entre les deux table , et ensuite tu execute cete requette :
select Asset_PC.ID, Asset_PC.Name, Costcenter.costcenter
from Asset_PC inner join Costcenter on Asset_PC.service = Costcente.service ;
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 16:04
hhhhhhhhhh , c'est pas grave cythonas .
regarde la requette que j'ai proposé , dis moi si t'est pas d'accord
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 16:06
c'est pas du sql sa!! s'il tape sa en sql il va avoir une tonne d'erreur^^ t sur que tu t'es pas planter quelque part??
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 16:07
didoch test en meme temps qu'on sache...
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 16:09
dans la requette que je t'ai ecrit , il va afficher seulement les enregistrements dont les champs concernés par la jointure sont égaux , ça veux dire ,les costcenter ou le nom du service = à le nom du service de la table costcenter
0
cythonas Messages postés 611 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 17 janvier 2012 84
28 févr. 2008 à 16:11
oui je sais sa, mais c'est pas des synthexe sql si?? moi sa fait 2 ans que j'en fai et ba les prof nous on pas apris tes syntaxe bizarre... lol
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
28 févr. 2008 à 16:14
j'en suis sur , c'est du sql , t'as jamais vu inner join ????!!!!!!!
bon voicii la requete :
select Asset_PC.ID, Asset_PC.Name, Costcenter.costcenter
from Asset_PC inner join Costcenter on Asset_PC.service = Costcente.service ;

et dautre façon :
select Asset_PC.ID, Asset_PC.Name, Costcenter.costcenter
from Asset_PC , Costcenter
where Asset_PC.service = Costcente.service ;
0