MYSQL将字母等级映射为其等效值
我有两张餐桌,一张餐桌和一张餐桌MYSQL将字母等级映射为其等效值,mysql,Mysql,我有两张餐桌,一张餐桌和一张餐桌 TABLE DEPORTMENT idnumber | subjectcode | 1st Qtr | 2nd Qtr | 3rd Qtr | 4th Qtr 1 | CL 7D | A- | A+ | A | B+ 1 | ENG 7D | A+ | A+ | A+ | B+ 1 | MATH 7D | B+ | A-
TABLE DEPORTMENT
idnumber | subjectcode | 1st Qtr | 2nd Qtr | 3rd Qtr | 4th Qtr
1 | CL 7D | A- | A+ | A | B+
1 | ENG 7D | A+ | A+ | A+ | B+
1 | MATH 7D | B+ | A- | A+ | B+
TABLE DEPORTMENT_VAL
Grade | Value
A+ | 1
A | 2
A- | 3
B+ | 4
我应该查询什么以便显示此视图
TABLE DEPORTMENT
idnumber | subjectcode | 1st Qtr | 2nd Qtr | 3rd Qtr | 4th Qtr
1 | CL 7D | 3 | 1 | 2 | 4
1 | ENG 7D | 1 | 1 | 1 | 4
1 | MATH 7D | 4 | 3 | 1 | 4
更新:我按季度更改了成绩表,因为在获得此视图后,我需要获得每个季度这些成绩的平均值。在这个示例表中有效,但当我在有更多详细信息的实际表上执行此操作时,它显示为空。CREATE table
tbldeportment
(学年
varchar(9)不为空,idnumber
varchar(9)不为空,subjectcode
varchar(9)不为空,dateeval
timestamp不为空默认,facultyid
varchar(9)默认为空,q01
varchar(6)默认为空,q02
varchar(6)默认为空,q03
varchar(6)默认为空,q04
varchar(6)默认为空,final
varchar(6)默认为空,主键(idnumber
,schoolyyear
,subjectcode
),引擎=InnoDB默认字符集=latin1$$CREATE TABLEtbldeportment\u val
(q01
varchar(9)不为空,VALUE
varchar(45)默认为空,主键(q01
)ENGINE=InnoDB DEFAULT CHARSET=latin1$$@Ingvaru不要将传统信息发布到注释中,而是编辑/更新问题。当我在有更多详细信息的实际表上执行此操作时,它显示为空。我预测相应的列具有不同的名称(q01
列具有不同的数据类型-因此tbldeportment
中的joinig列不是q01
)-使用具有适当连接条件的ON子句,而不是使用()。
SELECT *
FROM DEPORTMENT
JOIN DEPORTMENT_VAL USING (Grade)