Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So zeigen Sie den entsprechenden Datensatz aus dem Zugriff basierend auf einer anderen Spalte in Datagrid in vb6 an

Sie können eine Abfrage wie folgt verwenden:

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)

Es wäre jedoch viel besser, Ihre Gebührentabelle neu zu gestalten, damit sie mit den Daten übereinstimmt, die von der inneren SQL zurückgegeben werden, dh eine andere Zeile für theoretische und praktische Gebühren:

Year1   Year2   FeeType     Fee
2001    2003    Theory      440
2001    2003    Practical   320