Q:

Adding values from a different table based on values in multiple columns of another table

I have 2 Tables
Table 1
Name    column2 column3 column 4
Suzy    English  null     null  
Rocky   Polish   Irish  null
John    English  American  Funny 
George  Funny   English   null

Table 2
Column    Value 
English    2     
Polish    3     
Irish     2      
Funny     0  
American   1 

The values in Column in Table 2 are unique.
I want to add a column in Table 1 which finds all the matching values from columns 2, 3 and 4 in table 1, finds the corresponding values in the ‘column’ in table 2 and the adds the corresponding values, So that Table 1 now is updated to look like
Table 1
Name    column2 column3 column 4    Total
Suzy    english  null     null      2
Rocky   Polish   Irish  null        5
John    English  American  Funny    3
George  Funny   English  null       2

Is this possible at all? Or do I need to have another query first?

A:

Your table structures are less than ideal, since apparently all of column2, column3 and column4 in table 1 contain items of the same "type".
There are various ways of creating your totals - we can either perform multiple joins or use a correlated subquery. I'm using the subquery here:
select
    *,
    (select SUM(t2.Value) from Table2 t2
    where t2.Column1 in (t1.Column2,t1.Column3,t1.Column4)) as TotalValue
from
    Table1 t1

