Lets say I have the following data:
quote_id = c(123,123,123,123,789,789,789,789,456,456,456,456)
Cake = c( 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' , 'chocolate' )
Egg = c(1,0,0,0,0,0,0,0,0,0,1,0)
Regular_Milk = c(0,0,1,0,0,0,0,0,0,0,0,0)
Almond_Milk = c(0,0,0,0,1,0,0,0,0,0,0,0)
Coconut_Milk = c(0,0,0,0,0,0,0,0,1,0,0,0)
Regular_Sugar = c(0,0,0,0,0,0,0,0,0,1,0,0)
Cane_Sugar = c(0,1,0,0,0,0,1,0,0,0,0,0)
Regular_Flour = c(0,0,0,1,0,0,0,0,0,0,0,0)
Oat_Flour = c(0,0,0,0,0,0,0,0,0,0,0,0)
Wheat_Flour = c(0,0,0,0,0,0,0,0,0,0,0,1)
Almond_Flour = c(0,0,0,0,0,0,0,1,0,0,0,0)
Old_Cake_Data = data.frame(quote_id, Cake , Egg, Regular_Milk, Almond_Milk, Coconut_Milk , Regular_Sugar, Cane_Sugar, Regular_Flour, Oat_Flour, Wheat_Flour, Almond_Flour)
Is there a way in SQL or R to get the following output:
quote_id = c(123,789,456)
Cake = c( 'chocolate' , 'chocolate' ,'chocolate' )
Egg = c(1,0,1)
Regular_Milk = c(1,0,0)
Almond_Milk = c(0,1,0)
Coconut_Milk = c(0,0,1)
Regular_Sugar = c(0,0,1)
Cane_Sugar = c(1,1,0)
Regular_Flour = c(1,0,0)
Oat_Flour = c(0,0,0)
Wheat_Flour = c(0,0,1)
Almond_Flour = c(0,1,0)
New_Cake_Data = data.frame(quote_id, Cake , Egg, Regular_Milk, Almond_Milk, Coconut_Milk , Regular_Sugar, Cane_Sugar, Regular_Flour, Oat_Flour, Wheat_Flour, Almond_Flour)
I thought about summing each column but the issue with that is that I need the output to be ordered by quote_id.
Essentially, I would like to have an output of one record per item id.