"Où IN" avec plusieurs colonnes (SQL Server)

Je suis à l'aide de SQL Server 2005.

La requête devrait ressembler à ceci

Select col1, col2, col3 from <subquery> where (col1,col2) in <subquery>

SQL Server n'a pas l'air d'aimer cela. De toute façon de mise en oeuvre de ce que quelqu'un sait de qui n'implique pas de conversion à varchars ou autre chose malpropre?

C'est le réel de la requête.

SELECT * 
FROM         
 (
    SELECT NEWID() AS guid, UserID, RoleId, ClubId, 0 AS GroupRole
    FROM dbo.Portal_UserRoles

    UNION

    SELECT NEWID() AS guid, dbo.Portal_UserGroups.UserId, 
           dbo.Portal_GroupRoles.RoleId, dbo.Portal_UserGroups.ClubId, 
           dbo.Portal_GroupRoles.GroupId AS GroupRole
    FROM dbo.Portal_GroupRoles 
    INNER JOIN dbo.Portal_UserGroups 
        ON dbo.Portal_GroupRoles.GroupId = dbo.Portal_UserGroups.GroupId
  ) AS derivedtbl_1
WHERE (derivedtbl_1.RoleId,derivedtbl_1.ClubId) IN 
      (
         SELECT Portal_GroupRoles.RoleId, Portal_ClubGroups.ClubId
         FROM Portal_GroupRoles 
         INNER JOIN Portal_ClubGroups
             ON Portal_GroupRoles.GroupId = Portal_ClubGroups.GroupId
      )

source d'informationauteur