If you are have a lot of queries that need the Tax Lookups you might consider creating a VIEW.
CREATE VIEW Items_View
WITH SchemaBinding -- Optional, but recommended
SELECT i.Item_Number, i.[Item Description],
... any other columns from [Items] table ...
-- Lookup columns:
str1.Tax_Rate as [Tax_Rate1],
str2.Tax_Rate as [Tax_Rate2],
str3.Tax_Rate as [Tax_Rate3],
str4.Tax_Rate as [Tax_Rate4]
FROM Items i
LEFT OUTER JOIN [System Tax Rates] str1 ON str1.Tax_Name = i.Tax1_name
LEFT OUTER JOIN [System Tax Rates] str2 ON str2.Tax_Name = i.Tax2_name
LEFT OUTER JOIN [System Tax Rates] str3 ON str3.Tax_Name = i.Tax3_name
LEFT OUTER JOIN [System Tax Rates] str4 ON str4.Tax_Name = i.Tax4_name
You can then do
SELECT Item_Number, [Item Description], Tax_Rate1, Tax_Rate2, ...
The sequence of the columns is not important - you could have TaxName, TaxRate as Scott had them. We prefer to have ALL the columns from the original table, and then all the various Lookup Tables. If we add a column to the underlying table we add that in the correct place so if, for example, we do a SELECT * we get the same columns in the same order as the underlying table. We don't "rely" on the column sequence (nor should you!) but we do find it "easier" if they are consistent.
You will need to provide a unique alias name for each Lookup Column (which I've added in my example, lifted from Scott's)