开发者

Sql Server Pivot with lookup table

开发者 https://www.devze.com 2023-04-01 16:53 出处:网络
I\'ve looked through most of the pivot table examples, but I haven\'t found quite the same scenario yet (开发者_Go百科plus, I\'m probably out of my league with this).

I've looked through most of the pivot table examples, but I haven't found quite the same scenario yet (开发者_Go百科plus, I'm probably out of my league with this).

I have an Employees table, an Attributes table, and a lookup table that matches employees and attributes:

dbo.Employees
employee_ID INT
employee_name NVARCHAR(50)
employee_ID | employee_name 
1           | Joe Smith
2           | Don Johnson    
dbo.Attributes
attribute_ID INT
attribute_description NVARCHAR(50)
attribute_ID | attribute_description
50           | Works Weekends
55           | Wears Hats
61           | Enjoys Baseball 
dbo.EmployeeAttributes
employee_attribute_ID INT
employee_ID_fk INT
attribute_ID_fk INT
employee_attribute_ID | employee_ID_fk | attribute_ID_fk
20                    | 1              | 50
21                    | 2              | 61
22                    | 2              | 55

I'm trying to end up with a result set where the attributes are displayed as columns, with boolean values indicating whether the attribute is present for a given employee, like:

employee_ID | employee_name | Works Weekends | Wears Hats | Enjoys Baseball
1           | Joe Smith     | 1              | 0          | 1
2           | Don Johnson   | 0              | 1          | 0

Any help would be very much appreciated.


I'm kind of out of time right now, but couldn't help giving you some pointers.:

  1. Assemble your basic (non pivot) query. You should use a couple of LEFT JOIN between your tables. Once you have that, proceed to Pivoting.
  2. Look at the stuff I've written on Dynamic PIVOT:
    • SQL Server PIVOT perhaps?
    • Pivot data in T-SQL
    • How do I build a summary by joining to a single table with SQL Server?
0

精彩评论

暂无评论...
验证码 换一张
取 消