gpt4 book ai didi

mysql - 如何从单行表中获取多行?

转载 作者:行者123 更新时间:2023-11-30 21:45:30 24 4
gpt4 key购买 nike

您好,我有两个具有以下结构的表

学生

 +------+------+------+-------+------+------+
| 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= Name,Col3= SubjectCode, COl4= Marks in Col3, Col5= subjectCpde, Col6= Marks for 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'

http://sqlfiddle.com/#!9/513fe5/17

关于mysql - 如何从单行表中获取多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49684594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com