sorry if I went too fast
You don't need sizeid in the item table, if you think about it, each item can have more than one size, so this field is redundant.
tblsize is fine, as is tblprice.
sizeid in tblsize has to be unique
itemid in tblprice cannot be unique as you need multiple entries for each item.
If it makes things clearer, the combination of itemid and sizeid (a compound key) is unique for each row, but don't worry about that too much.
As you mentioned, your situation is slightly more complex, but not much.
Imagine you have a version table as well as a size table, it works in the same way.
tblprice now needs an additional field, versionid.
so for an item with 2 versions and 2 sizes, there would be 4 rows in tblprice for the same itemid, does this make sense ?
If you wish, you can pm me or send me an email (look at my profile or go to my website) if you want to discuss this in detail.
As far as the lookup query is concerned, this does take a little bit of hand coding, but I or the support guys at Webassist can help you with that.