[英]How to get multiple rows from single row of table?
嗨,我有两个具有以下结构的表
学生们
+------+------+------+-------+------+------+
| Col1 | Col2 | Col3 | Col4 | Col5 | Col6 |
+------+------+------+-------+------+------+
| 01 | Hari | 20 | 80 | 21 | 81 |
| 02 | Nari | 20 | 67 | 21 | 76 |
| 02 | Lari | 25 | 87 | 26 | 96 |
+------+------+------+-------+------+------+
此处COl1 = ID,Col2 =名称,Col3 = SubjectCode,COl4 = Col3中的标记,Col5 = subjectCpde,Col6 = Col5的标记
还有另一个表叫做Subjects
+------+-----------+
| Col1 | Col2 |
+------+-----------+
| 20 | English |
| 21 | Maths |
| 25 | Chemistry |
| 26 | Physics |
+------+-----------+
这里Col1 =学科代码,COl2 =在学生表中引用的学科名称。
现在,我的查询应按以下方式返回结果。 如何实现的?
+---------+--------+------+
| Subject | Marks | Name |
+---------+--------+------+
| English | 80 | Hari |
| Maths | 81 | Hari |
+---------+--------+------+
你可以试试看
使用两个查询,第一个查询English
subjectCode
,第二个查询English
subjectCode
。 然后使用UNION ALL
组合它们。
SELECT sub.Col2 as 'Subject',stu.Col4 as 'Marks',stu.Col2 as 'Name'
FROM Students stu
inner join subjects sub on sub.Col1 = stu.Col3
WHERE stu.Col2 = 'Hari'
UNION ALL
SELECT sub.Col2 as 'Subject',stu.Col6 as 'Marks',stu.Col2 as 'Name'
FROM Students stu
inner join subjects sub on sub.Col1 = stu.Col5
WHERE stu.Col2 = 'Hari'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.