Hier in meiner App habe ich Probleme, und eine Liste von Menschen, die sie konfrontiert. Heute bin ich das Abrufen alle Menschen Namen durch STUFF
Funktion wie die Probe unter:Wie Facebook-like People Zähler mit SQL Server abrufen?
select problem.*,
(
STUFF
(
(
SELECT TOP(3)', ' + person.name
FROM
problem_person
LEFT JOIN person ON problem_person.personId = person.Id
WHERE
problem_person.problemId = problem.Id
order by person.name
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'), 1, 1, ''
)
) as peopleWhoFaced from problem
Wenn jedoch eine Menge Leute vor dem gleichen Problem, peopleWhoFaced
Feld riesig wird. Wie kann man etwas wie Person 1, Person 2 and 36 more faced the problem
abrufen? Ich weiß, dass ich dies auf API-Ebene tun könnte, aber ich versuche, dies zu vermeiden und API-Code sauber zu halten.
Wie konnte ich das erreichen? Brauche ich einen Cursor oder etwas ähnliches?
Vielen Dank im Voraus. COUNT(*) - 3
Vielen Dank für die Antwort Dan! Ich werde das überprüfen! –
Die Antwort ist nicht korrekt, aber es zeigte mir die richtige Richtung. Es ist nicht ganz korrekt, weil '@ count' immer die gleiche Personenmenge (in meinem Fall 144 Personen) zurückgibt, selbst wenn nur 4 das Problem (korrekter Wert) hatten. –
Ich sehe, was Sie sagen - aktualisierte Antwort, um die richtige Tabelle/Bedingungen zu enthalten. –