SQL SERVER 2008 [Résolu]

Signaler
Messages postés
7
Date d'inscription
vendredi 19 mars 2010
Statut
Membre
Dernière intervention
14 juin 2011
-
cs_TIKATKT
Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012
-
Bonjour à tous
j'ai un petit problème je dois coder un select qui permet d'obtenir l'annuaire d'une entreprise.
le resultat est presenté : nom, prenom, poste.
Je dois chercher l'information dans deux tables différentes.Pour les informations de la première table j'ai 2 diffrentes types de poste : si c'est 1 chef, 2 ouvrier et dans 2e table j'ai juste des secrétaires.
J'arrive à trouver toute l'information à l'aide d'un case et des join tout est correct, mais le problème c'est pour afficher les information, pcq j'ai doit avoir juste 3 colonnes qui contienent tous les noms et prenoms et poste des tous les employes et dans mon affichages j'ai 6 colonnes avec les nom et prenoms et poste des la première tables plus celles de la 2e table.

j'espère que quelqu'un peut m'aider

merci

Vargas[size=200]cpp'>ize

8 réponses

Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012

Dans ce cas il vaut mieux utiliser UNION:

SELECT     NomP AS Nom, PrenomP AS Prénom, 'Poste' CASE WHEN PosteP 1 THEN 'Chef' ELSE 'Ouvrier' END
FROM         Personnels
UNION
SELECT     NomS AS Nom, PrenomS AS Prénom, 'Poste' = 'Secrétaire'
FROM         Secretaires




il te reste le groupement par bureau !
Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012

Bonjour
tu aura des réponses plus rapides si tu mets ta requête
Messages postés
7
Date d'inscription
vendredi 19 mars 2010
Statut
Membre
Dernière intervention
14 juin 2011

Bonjour
voici mon select

SELECT perNo, perNom, perPrenom, secNom, secPrenom, 'Poste' =
CASE
WHEN perPoste = 1 THEN 'Chef'
WHEN perPoste = 2 THEN 'Ouvrier'
ELSE 'Sécretaire'
END
FROM Personnels
JOIN bureau ON buNo = perNobureau
JOIN Secretaies ON seNo = seNobu
et l'affichage du select doit rassembler à ça:

Nom Prénom Poste
xxxx xxxx Chef


Mais c'est ça mon problème pour afficher les résultats ou lieu d'avoir juste 3 colonnes j'ai toutes les colonnes de mon select

merci pour l'aide
Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012

Salut,
à ce qui parait tu veux afficher seulement le nom, prénom et poste ! essai ceci :

SELECT  perNom as Nom, perPrenom as Prénom, 'Poste' = 
CASE 
WHEN perPoste = 1 THEN 'Chef' 
WHEN perPoste = 2 THEN 'Ouvrier' 
ELSE 'Sécretaire' 
END 
FROM Personnels 
JOIN bureau ON buNo = perNobureau 
JOIN Secretaies ON seNo = seNobu 
Messages postés
7
Date d'inscription
vendredi 19 mars 2010
Statut
Membre
Dernière intervention
14 juin 2011

merci pour ta reponse, mais ça ne fonction pas
j'ai juste les nom et prenoms de la première table
Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012

peux tu montrer le détail des tables (les champs de chaque table !) ?
Messages postés
7
Date d'inscription
vendredi 19 mars 2010
Statut
Membre
Dernière intervention
14 juin 2011

HEY merci beaucoup ça fonction parfaictement
c'est ça qu'il me fallait
Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012

bon courage pour la suite !