Pretty complicated… I have two tables, t1 which contains descriptive information regarding specific objects, and the second table, t2, contains information used to decode the objects in t1.
I’ll try to provide a simple example:
----
t1 (Name, Type, Size, Color)
----
dog1 - mammal - big - brown
dog2 - mammal - big - black
cat1 - mammal - small - black
fish1 - fish - small - gold
---
t2 (Type, Size, Color, Value)
---
mammal - "" - blue - 1
mammal - big - brown - 0.5
mammal - big - black - 0.75
mammal - small - "" - 2
fish - big - "" - 5
fish - small - "" - 0.5
fish - small - gold - 0.5
"" - "" - black - 1
"" - big - "" - 0.75
---
result(name, value)
---
dog1 - 1.25 //receives a value of 1.25 (0.5+0.75) because it hits the row of being mammal/big/brown (0.5) and the extra hit of just being big (0.75)
dog2 - 2.5 // 0.75 + 1 + 0.75 for being mammal/big/black (0.75), for being black (1), and for being big (0.75)
cat1 - 2 //2 for being mammal/small
fish1 - 1 // 0.5 + 0.5 for being fish/small and fish/small/gold
---
This is my current query as it pertains to this example, but of course it doesn’t work for several reasons.
Select t1.Name, SUM(counter.Value) as Sums
From
(Select *
From t1, t2
where t1.Type = t2.Type and t1.Size = t2.Size and t1.Color = t2.Color)
Try this (or replace the t2.XXX is null with t2.XXX = ” if you’re using blanks):
Results: