Je voudrais retourner une liste des employés, diverses informations à leur sujet et une colonne avec la liste des 3 premiers projets auxquels ils ont des heures assignées chaque mois dans une virgule séparée liste. J'ai une instruction select qui retourne les heures avec succès, mais je ne suis pas sûr de savoir comment l'intégrer dans un statemnet select. Voici l'instruction select. J'essaye de faire ceci dans SQL Server.Liste séparée par des virgules dans un SQL SELECT Résultats
DECLARE @Projects varchar(max)
SELECT Top(3) @Projects = COALESCE(@Projects+', ' ,'') + ltrim(rtrim(Projects.Title))
FROM EmployeeProjectPlanning INNER JOIN
Projects ON EmployeeProjectPlanning.ProjectID = Projects.ProjectID
WHERE (EmployeeProjectPlanning.EmpID = 1) AND (EmployeeProjectPlanning.MonthID = 9) AND (EmployeeProjectPlanning.Year = 2011)
ORDER BY EmployeeProjectPlanning.Hours DESC
SELECT @Projects
S'il vous plaît, s'il vous plaît, s'il vous plaît nous dire quel produit SQL que vous utilisez. MySQL et SQLite le feraient avec GROUP_CONCAT, dans SQL Server, vous devez écrire une procédure stockée scalaire pour le faire. –
à en juger par la syntaxe, c'est MS SQL. Aussi, je trouve utile de faire une fonction CLR agrégée à cet effet, pour imiter le group_concat de MySQL, si les droits d'accès le permettent. – AlexanderMP