Vous pouvez utiliser une requête comme celle-ci :
SELECT subjectcode.Year1, subjectcode.Year2,
subjectcode.Subjectcode, subjectcode.Subjectname,
subjectcode.Theory_Practical, q.fee
FROM subjectcode
INNER JOIN (
SELECT fees.Year1, fees.Year2, "Theory" As FeeType,
fees.Theoryfee As Fee
FROM fees
UNION ALL
SELECT fees.Year1, fees.Year2, "Practical" As FeeType,
fees.Practicalfee As Fee
FROM fees) AS q
ON (subjectcode.Theory_Practical = q.FeeType)
AND (subjectcode.Year2 = q.Year2)
AND (subjectcode.Year1 = q.Year1)
Cependant, vous feriez bien mieux de reconcevoir votre table de frais pour qu'elle corresponde aux données renvoyées par le sql interne, c'est-à-dire une ligne différente pour les frais théoriques et pratiques :
Year1 Year2 FeeType Fee
2001 2003 Theory 440
2001 2003 Practical 320