Bonjour à tous,
Tout d'abords, désolé pour le titre pas très explicite, mais je n'ai pas trouvé mieux. Je travaille sur un projet VB.NET avec une base hébergé sur un SQL Serveur 2008.
J'ai pour le moment la requête suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
SELECT DISTINCT tblHardWareType.IdType, tblHardWareType.HardwareName + ' - ' + tblGroups.GroupsName as HardwareName from tblGroups
INNER JOIN tblCountry ON tblGroups.IdCountry = tblCountry.IdCountry
INNER JOIN tblBuilding ON tblCountry.IdCountry = tblBuilding.IdCountry
INNER JOIN tblTeam ON tblBuilding.IdBuilding = tblTeam.IdBuilding
INNER JOIN tblMaterial ON tblTeam.IdTeam = tblMaterial.IdTeam
INNER JOIN tblHardWareType ON tblMaterial.IdType = tblHardWareType.IdType AND tblGroups.IdGroups = tblHardwareType.IdGroups
where tblBuilding.IdBuilding = '7' AND tblHardwareType.Visible = 0 AND tblGroups.Visible = 0
UNION
SELECT DISTINCT tblHardWareType.IdType, tblHardWareType.HardwareName + ' - ' + tblGroups.GroupsName as HardwareName from tblGroups
INNER JOIN tblCountry ON tblGroups.IdCountry = tblCountry.IdCountry
INNER JOIN tblBuilding ON tblCountry.IdCountry = tblBuilding.IdCountry
INNER JOIN tblHardWareType ON tblGroups.IdGroups = tblHardWareType.IdGroups
INNER JOIN tblAuthorizedGroups ON tblAuthorizedGroups.IdGroups = tblGroups.IdGroups
where tblBuilding.IdBuilding = '7' AND tblAuthorizedGroups.UserId = 'MyUserID' AND tblHardwareType.Visible = 1 AND tblGroups.Visible = 0 |
qui me retourne :
1 LAPTOP - IT France
2 3G KEY MIFI - IT France
3 BEAMER - IT France
4 IPAD - IT France
8 VGA2USB - IT France
12 IPAD Camera - IT France
15 MACBOOK - IT France
49 GALAXY TAB - IT France
164 Ext Hard Drive - IT France
201 LAPTOP - Backend France
Je voudrais afficher la partie "GroupsName" uniquement s'il y a un doublon pour le HardwareName, autrement dit avoir le résultat suivant :
1 LAPTOP - IT France
2 3G KEY MIFI
3 BEAMER
4 IPAD
8 VGA2USB
12 IPAD Camera
15 MACBOOK
49 GALAXY TAB
164 Ext Hard Drive
201 LAPTOP - Backend France
Je pourrais faire se traitement dans mon code VB, mais je préférerais qu'il soit fait directement dans ma requête. Malheusement je ne vois pas du tout comment faire.
Quelqu'un pourrait-il me donner une piste ?
Merci d'avance.
DeWaRs
Partager