Actually I would probably create two tables and use a join to get at the data. I notice you have repeating data in the listing. What is going to be your unique identifier for each row within the one or two tables? Can you describe your data a little better to see if we can come up with tables that will get you your results properly each time? Here is my guess of what you have listed:
Table 1 Meals
Create table Meals (dTheDate datetime,
imeal_type integer,
iHow_Paid integer,
iEquiv integer)
Table 2 Meal_Types
Create table Meal_Types (imeal_type integer,
meal_type varchar(25))
Table 3 Paid_Types
Create Table Paid_Types (iHow_Paid integer,
How_Paid varchar(10))
Table 4 Equiv
Create Table Equiv (iEquiv integer,
Equiv integer,
Sequiv integer)
Insert into Meal_types values(1,'Breakfast')
Insert into Meal_types values(2,'Lunch')
Insert into Meal_types values(3,'Dinner')
Insert into Paid_Types values(1,'Free')
Insert into Paid_Types values(2,'Reduced')
Insert into Paid_Types values(3,'Paid')
Insert into Equiv values(1,30,20)
Insert into Meals values ('1/1/2003',1,1,1)
Insert into Meals values ('1/2/2003',1,1,1)
Insert into Meals values ('1/3/2003',1,1,1)
Then to get your data out:
select m.dTheDate,mt.Meal_Type,pt.How_Paid,e.Equiv,e.Sequiv
from Meals m
join Meal_Types mt on m.imeal_type = mt.imeal_type
join Paid_Types pt on m.iHow_Paid = pt.iHow_Paid
join Equiv e on m.iEquiv = e.iEquiv
Again, I am only making a guess on what you really want here. As you can see, I assume you really only want to display 'Free','Reduced', or 'Paid' per row and not all three per row. Just provide a little more information and I will try to help.
Hope this helps.