Le besoin basique est de savoir si un enregistrement a un attribut "Urgent", alors la valeur d'attribut doit être affichée dans la colonne Urgent. Si l'enregistrement a une valeur d'attribut "closed", alors la valeur d'attribut doit être affichée dans la colonne "Closed".Enregistrements unifiés pour la requête de base de données avec Sql
J'ai une requête ci-dessous. Mon problème est que parmi les résultats que je reçois, il y a deux enregistrements avec le même RequesterID (un avec une valeur valide dans la colonne "Urgent" et un avec une valeur dans la colonne "Closed") Mon problème est que j'ai besoin de ces deux enregistrements particuliers à afficher en un seul enregistrement.
Des idées?
SELECT DISTINCT
r.RequesterID,
sr.ModifiedDate,
p.FirstName + ' ' + p.LastName AS RequesterName,
CASE
WHEN sa.Attribute = 'Urgent' THEN sa.AttributeValue
ELSE NULL
END AS Urgent,
CASE
WHEN sa.Attribute = 'Closed' THEN sa.AttributeValue
ELSE NULL
END AS Closed
FROM
Requester AS r
INNER JOIN SubRequester AS sr
ON r.RequesterID = sr.RequesterID
INNER JOIN SubRequesterAttribute AS sa
ON sr.SubRequesterID = sa.SubRequesterID
CROSS JOIN Personnel AS p
WHERE
(r.UserID = p.ContractorID
OR r.UserID = p.EmployeeID)
AND
(sa.Attribute IN ('Urgent', 'Closed'))
GROUP BY r.RequesterID, sr.ModifiedDate, p.FirstName, p.LastName,
sa.Attribute, sa.AttributeValue
Beaucoup de modifications ici. Désolé d'avoir tabassé certains d'entre eux. Que SQL avait juste besoin d'être formaté. – Welbog