You type of process to transform rows on data into columns is known as a PIVOT. There are a few ways that you can pivot the data in sql server.
You can use an aggregate function with a CASE expression:
select i.item_name,
max(case when g.grouping_name = 'Artists' then c.category_name end) Artists,
max(case when g.grouping_name = 'Painters' then c.category_name end) Painters,
max(case when g.grouping_name = 'Schools' then c.category_name end) Schools
from items i
left join item_categories ic
on i.item_id = ic.item_id
left join groupings g
on ic.grouping_id = g.grouping_id
left join categories c
on ic.category_id = c.category_id
group by i.item_name;
If you have known values, then you can hard-code the query using PIVOT:
select item_name,
Artists, Painters, Schools
from
(
select i.item_name,
g.grouping_name,
c.category_name
from items i
left join item_categories ic
on i.item_id = ic.item_id
left join groupings g
on ic.grouping_id = g.grouping_id
left join categories c
on ic.category_id = c.category_id
) d
pivot
(
max(category_name)
for grouping_name in (Artists, Painters, Schools)
) piv;
See SQL Fiddle with Demo.
But it seems like you might have an unknown number of values that you want to convert into columns, if that is the case, then you will need to use dynamic SQL to get the solution:
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(Grouping_Name)
from Groupings
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT item_name, ' + @cols + '
from
(
select i.item_name,
g.grouping_name,
c.category_name
from items i
left join item_categories ic
on i.item_id = ic.item_id
left join groupings g
on ic.grouping_id = g.grouping_id
left join categories c
on ic.category_id = c.category_id
) x
pivot
(
max(category_name)
for grouping_name in (' + @cols + ')
) p '
execute(@query);
See SQL Fiddle with Demo. All versions will give a result:
| ITEM_NAME | ARTISTS | PAINTERS | SCHOOLS |
----------------------------------------------------------------
| 1" Brush | Art Supplies | (null) | Back to School |
| Blue Paint | Art Supplies | Paint - Acrylic | Back to School |
| Red Paint | Art Supplies | Paint - Acrylic | Back to School |