2014-09-27 49 views
0

過濾數據IF

students(studentID PK, A, B,sec..) FeesStructure(feeStruct PK, feeA, feeB, ..) FeesCollected(FeesID PK,studentID FK,feeStruct FK, A,B,..)

如果students.sec = 'A' 返回FeesStructure.feeA,FeesCollected.A ..等 必須創建一個視圖,將返回基於一個如果數據。費用結構表有費用A,費用B ,只適用於學生的秒數。我需要根據students.sec返回feeA或feeB

回答

0

您可以使用CASE

select students.studentID, 
    case students.sec 
    when 'A' then FeesStructure.feeA 
    else FeesStructure.feeB 
    end as feesStructure, 
    case students.sec 
    when 'A' then FeesCollected.A 
    else FeesCollected.B 
    end as feesCollected 
from students, FeesStructure, FeesCollected 
where students.studentID=FeesStructure.studentID 
    and students.studentID=FeesCollected.studentID