All,

One of my first projects was to collect a sum of quantity of a particular type of item that we have in our database. The problem with this was the item's description was the ONLY way I can SURELY obtain the correct data.

For example, we sell safety harnesses at my job. Each safety harness has multiple components, and even more sub-components (and sub-components of sub-components and so on...). To collect ONLY the restraints that we sold, I had to resort to using the Description column of the Items table using the LIKE operator in my SQL query. Here is an example:
SELECT SUM(TItems.Item)
FROM TItems
WHERE TItems.Description LIKE '%restraint%'
And that could have been okay...but they wanted more specific types of restraints (like for Aviation, Ambulances, etc)...and once again I had to use a LIKE operator in the SQL query like:
SELECT SUM(TItems.Item)
FROM TItems
WHERE TItems.Description LIKE '%restraint%' OR TItems.Description LIKE '%kit%'
But the more criteria I was getting, the bigger the query kept getting (and it wasn't dynamic). There is NO other way to collect this info the way they are asking for it, and I've mentioned it to them.

So I thought I could come up with a table similar to:
tCriteria (name of table)
MyCriteria
*restraint*
*kit*
And use a syntax like this:
 SELECT SUM(TItems.Item)
 FROM TItems, tCriteria
 WHERE TItems.Description LIKE tCriteria.MyCriteria
Which did work...but how does it work? I'm just a little confused on this...because if, for example, you have in the table:
tCriteria (name of table)
MyCriteria
*restraint*
*restraint*
It will double the sum for Descriptions that contain the word "restraint" in it...so does that mean my original table:

tCriteria (name of table)
MyCriteria
*restraint*
*kit*
Would double the sum of something like:

Description:
5-pt,restraint,kit,blah,blah,blah




Also, how would anybody else approach this?