"Wo IN" mit mehreren Spalten (SQL Server)

Ich bin mit SQL Server 2005.

Die Abfrage würde wie folgt Aussehen

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

SQL Server scheint nicht zu mögen. Jede Art und Weise der Umsetzung, dass jemand weiß, dass nicht die Umstellung auf varchars oder sonst etwas chaotisch?

Dies ist die eigentliche Abfrage.

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
      )
Würde es helfen, Menschen zu helfen, wenn Sie formatiert diese mehr lesbar.
Sorry, keine Ahnung, wie das geht.
Es ist seltsam, diese Frage ist mittlerweile fast 3k views und nicht ein einziger upvote.

InformationsquelleAutor | 2009-01-12

Schreibe einen Kommentar