Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 24th, 2012  |  syntax: None  |  size: 1.18 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How can I join these two tables into the same Sql result
  2. UserId  Name
  3. 1       Pure.Krome
  4. 2       John
  5. 3       Jill
  6. 4       Jane
  7.        
  8. UserAliasId  UserId  Alias
  9. 1            1       Idiot
  10. 2            1       PewPew
  11. 3            3       BlahBlahBlah
  12.        
  13. UserId  Name        Aliases
  14. 1       Pure.Krome  Idiot PewPew
  15. 2       John
  16. 3       Jill        BlahBlahBlah
  17. 4       Jane
  18.        
  19. SELECT UserID, Name
  20.     , LTRIM(RTRIM((SELECT ' ' + Alias
  21.         FROM UserAliases WHERE UserID = u.UserID
  22.         FOR XML PATH('')))) AS Aliases
  23. FROM Users u
  24.        
  25. SELECT
  26.   [Users].[UserId] AS UserId,
  27.   [Users].[Name] AS Name,
  28.   GROUP_CONCAT_D([UserAliases].[Alias]," ") AS Aliases
  29. FROM [Users]
  30. OUTER JOIN [UserAliases] ON [Users].[UserId]=[UserAliases].[UserId]
  31.        
  32. SELECT  a.UserID,
  33.         a.[Name],
  34.         coalesce(NewTable.NameValues, '') Aliases
  35. FROM    Users a LEFT JOIN
  36.         (
  37.           SELECT  UserID,
  38.           STUFF((
  39.             SELECT  '  ' + [Name]
  40.             FROM    UserAliases
  41.             WHERE   ( UserID = Results.UserID )
  42.             FOR XML PATH('')), 1, 2, '') AS NameValues
  43.           FROM    UserAliases Results
  44.           GROUP BY UserID
  45.         ) NewTable
  46.         on a.UserID = NewTable.UserID