我在下面有三张表,显示学生记录、科目和有科目的学生。
我想问一下什么是有效的SQL查询来显示下面的结果。我可以使用JOIN来显示它,但不能使用下面的格式。
+------+-----------+-----------+-----+----------+-----------+--------+
|姓名|地址|电话|性别|科目|教师|活跃|
+------+-----------+-----------+-----+----------+-----------+--------+
|约翰|某处| 12345 | M |老师1 |是的|
|约翰|某处| 12345 | M |数学| |是的|
|约翰|某处| 12345 | M |科学| |是的|
|约翰|某处| 12345 | M |英语| |是的|
|马特|某处| 123456 | M |老师2 |是的|
|马特|某处| 23456 | M |数学| |是的|
|马特|某处| 123456 | M |科学| |是的|
|女孩|某处| 5431 |教师3 |是的|
|女孩|某处| 5431 | F |物理| |是的|
|女孩|某处| 5431 | F |数学| |是的|
+------+-----------+-----------+-----+----------+-----------+--------+
从学生记录中选择*;
+------------+------+-----------------+-----------+-----+----------+--------+
|学生身份证|姓名|地址|电话|性别|教师|活跃|
+------------+------+-----------------+-----------+-----+----------+--------+
|1 |约翰|某处| 12345 | M |老师| 0|
|2 |马特|某处| 12345222 | M |教师1 | 0|
|3 |女孩|在这里某处| 3333 |教师2 | 0|
+------------+------+-----------------+-----------+-----+----------+--------+
从受试者中选择*;
+------------+--------------+---------------------+
|id|主题|主题|名称|主题|描述|
+------------+--------------+---------------------+
|1 |数学|数学|
|2 |科学|科学|
|3 |英语|英语|
|4 |物理|物理|
+------------+--------------+---------------------+
从有科目中选择*;
+--------------------+--------------------+------------+
|学生证|学生证|学生证|学生证|
+--------------------+--------------------+------------+
|1 | 1 | 1|
|2 | 2 | 1|
|3 | 3 | 1|
|4 | 4 | 1|
|5 | 4 | 2个|
|6 | 3 | 2个|
|8 | 1 | 2个|
|9 | 1 | 3|
|10 | 2 | 3个|
|11 | 3 | 3|
|12 | 4 | 3个|
+--------------------+--------------------+------------+
最佳答案
怎么样
选择a.name为“name”,a.address为“address”,a.telephone为“telephone”,a.sex为“sex”,空为“Subject”,a.teacher为“teacher”,a.active为“active”,从学生记录中选择a
联合体a.name为“name”,a.address为“address”,a.telephone为“telephone”,a.sex为“sex”,b.subject为“subject”,空值为“Teacher”,a.active为“active”,来自(学生记录为a.id上的c,学生记录为a.id上的c),学生记录为a.id上的b,学生记录为b.id上的b,学生记录为c
没有测试过。它的顺序与您的示例相同,但应该包含所有数据
关于php - MySQL查询以显示基于三个表的格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12581540/