J'essaie simplement de concaténer les noms des employés dans un seul champ lorsque la valeur WorkOrderNumber d'une entrée est la même.Impossible de comprendre pourquoi cette requête ne s'exécute pas correctement
$Data = "SELECT tt.WorkOrderNumber AS WN,
SUBSTRING(SELECT tt2.AssignedEmp
FROM TestTable AS tt2
WHERE tt2.WorkOrderNumber=tt.WorkOrderNumber
ORDER BY tt2.AssignedEmp) AS emp
FROM TestTable AS tt";
Chaque fois que je lance cette requête je reçois ce retour sur mon site:
Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] At most one record can be returned by this subquery.
Y at-il quelque chose que je suis absent?
Pour plus de précisions ... Je suis pour le tournage:
Disons que j'ai des données sous cette forme
WorkOrderNumber AssignedEmp
2012087-28 Jeff
2012087-28 Bill
2012087-28 John
Je voudrais interroger ces données et obtenir un résultat comme celui-ci .. .
WorkOrderNumber Employee
2012087-28 Jeff,Bill,John
Je ne suis pas sûr que MS Access le supporte mais SQL Server a la fonction 'FOR XML PATH'. Voir: http://stackoverflow.com/questions/273238/how-to-use-group-by-to-concatenate-strings-in-sql-server – JodyT
J'ai essayé de travailler avec ça mais ça m'a donné des erreurs de syntaxe. Peut-être que cela ne le supporte pas – Hoser
L'accès ne fonctionne pas. Vous ne pouvez certainement pas faire cela dans Access 2003 ou plus tôt et je suis sûr que vous ne pouvez pas le faire dans Access du tout (je pensais que les champs multivalués aideraient mais il ne semble pas qu'ils le feront) sans utiliser VBA. –