So currently I have a table that has a bunch of fields and 3 cost fields (labor, Parts, Misc). What I want to do is have a the table split this up so that there is only one cost field that actually has data per row. Then have the other cost fields be blank. Example.
Name | Labor |Parts | Misc
test1 800 500 0
test2 0 500 0
test3 700 200 120
to
Name | Labor |Parts | Misc
test1 800 0 0
test1 0 500 0
test2 0 500 0
test3 700 0 0
test3 0 200 0
test3 0 0 120
I am Fairly new to SQL work and I can't find a good solution to this. Any thoughts would be great.
Thanks
Try this way:
select Name, Labor, 0 as Parts,0 as Misc
from Table
where Labor > 0
union all
select Name, 0 as Labor, Parts,0 as Misc
from Table
where Parts > 0
union all
select Name, 0 as Labor, 0 as Parts,Misc
from Table
where Misc > 0