如何从PHP中的单个表连接Mysql中具有多个条件的多个查询?
我在MySQL中有一个表如何从PHP中的单个表连接Mysql中具有多个条件的多个查询?,mysql,sql,pivot,Mysql,Sql,Pivot,我在MySQL中有一个表 ------------------------------ | ID | Subject | Marks | Term | ------------------------------- | 1 | English | 45 | 1 | | 2 | Hindi | 34 | 1 | | 3 | English | 54 | 2 | | 4 | Hindi | 33 | 2 | --------------
------------------------------
| ID | Subject | Marks | Term |
-------------------------------
| 1 | English | 45 | 1 |
| 2 | Hindi | 34 | 1 |
| 3 | English | 54 | 2 |
| 4 | Hindi | 33 | 2 |
------------------------------
我希望输出如下:
--------------------------------------
| Subject | Marks_Term1 | Marks_Term2 |
--------------------------------------
| English | 45 | 54 |
| Hindi | 34 | 33 |
--------------------------------------
请帮助我的代码,答复将不胜感激
SELECT marks_entry.subject_id, marks_entry.main_exam, marks_entry.main_exam
FROM marks_entry
WHERE marks_entry.term_id = 1
LEFT JOIN SELECT marks_entry.subject_id, marks_entry.main_exam, marks_entry.main_exam FROM marks_entry WHERE marks_entry.term_id = 2
您可以使用条件聚合来透视数据集:
select
subject,
max(case when term = 1 then marks end) marks_term1,
max(case when term = 2 then marks end) marks_term2
from mytable
group by subject
试试这个
SELECT A.Subject, A.Marks AS Marks_Term1, B.Marks AS Marks_Term2
FROM {tableName} A, {tableName} B
WHERE A.Subject = B.Subject
到目前为止,您尝试过什么?我尝试过在查询之间加入联接,但它不起作用。添加您尝试过的代码,以便在每一行主题上以及与该主题相关的所有投票?对@Albertosinagliathanks很多,但是如果我有多个条件,请您指导我。事实上,我有一张更大的桌子,上面有多个科目和不同的课程。如果我试图运行此代码,它会显示分配给不同类的所有主题,并将其标记为空。这是可行的,但有一个问题,如果未输入术语2,则我希望在值中显示为空。