Php 如何查询一个表以在一个表中获得两种类型的分数转储
你好,伙计,我有一张像下面这样的桌子Php 如何查询一个表以在一个表中获得两种类型的分数转储,php,mysql,laravel,Php,Mysql,Laravel,你好,伙计,我有一张像下面这样的桌子 +-------------+-----------+-------+ | stdid | csid | score | +-------------+-----------+-------+ | 20090204001 | CSC111_ca | 20 | | 20090204001 | CSC111_EX | 10 | | 20090204002 | CSC111_ca | 58 | | 20090204002 |
+-------------+-----------+-------+
| stdid | csid | score |
+-------------+-----------+-------+
| 20090204001 | CSC111_ca | 20 |
| 20090204001 | CSC111_EX | 10 |
| 20090204002 | CSC111_ca | 58 |
| 20090204002 | CSC111_EX | 3 |
| 20090204003 | CSC111_ca | 64 |
| 20090204003 | CSC111_EX | 45 |
| 20090204004 | CSC111_ca | 21 |
| 20090204004 | CSC111_EX | 11 |
| 20090204005 | CSC111_ca | 59 |
| 20090204005 | CSC111_EX | 4 |
| 20090204006 | CSC111_ca | 65 |
| 20090204006 | CSC111_EX | 46 |
| 20090204007 | CSC111_ca | 22 |
| 20090204007 | CSC111_EX | 12 |
| 20090204008 | CSC111_ca | 60 |
| 20090204008 | CSC111_EX | 5 |
| 20090204009 | CSC111_ca | 66 |
| 20090204009 | CSC111_EX | 47 |
| 20090204010 | CSC111_ca | 23 |
| 20090204010 | CSC111_EX | 13 |
| 20090204011 | CSC111_ca | 61 |
| 20090204011 | CSC111_EX | 6 |
| 20090204012 | CSC111_ca | 67 |
| 20090204012 | CSC111_EX | 48 |
| 20090204013 | CSC111_ca | 24 |
| 20090204013 | CSC111_EX | 14 |
| 20090204014 | CSC111_ca | 62 |
| 20090204014 | CSC111_EX | 7 |
| 20090204015 | CSC111_ca | 68 |
| 20090204015 | CSC111_EX | 49 |
| 20090204016 | CSC111_ca | 25 |
| 20090204016 | CSC111_EX | 15 |
| 20090204017 | CSC111_ca | 63 |
| 20090204017 | CSC111_EX | 8 |
| 20090204018 | CSC111_ca | 69 |
| 20090204018 | CSC111_EX | 50 |
| 20090204019 | CSC111_ca | 26 |
| 20090204019 | CSC111_EX | 16 |
| 20090204020 | CSC111_ca | 64 |
| 20090204020 | CSC111_EX | 9 |
| 20090204021 | CSC111_ca | 70 |
| 20090204021 | CSC111_EX | 51 |
| 20090204022 | CSC111_ca | 27 |
| 20090204022 | CSC111_EX | 17 |
| 20090204023 | CSC111_ca | 65 |
| 20090204023 | CSC111_EX | 10 |
| 20090204024 | CSC111_ca | 71 |
| 20090204024 | CSC111_EX | 52 |
| 20090204025 | CSC111_ca | 28 |
| 20090204025 | CSC111_EX | 18 |
| 20090204026 | CSC111_ca | 66 |
| 20090204026 | CSC111_EX | 11 |
| 20090204027 | CSC111_ca | 72 |
| 20090204027 | CSC111_EX | 53 |
+-------------+-----------+-------+
我想选择这样我就可以
stdid、csc111_ca_分数、csc111_EX_分数仅在一个表上使用mysql您可以尝试使用这种方法使用笛卡尔积
select t1.stdid,
case when t1.csid = 'CSC111_EX' then t1.score
else t2.score end
as csc111_EX_score,
case when t1.csid = 'CSC111_ca' then t1.score
else t2.score end
as csc111_ca_score
from your_table t1, your_table t2
where t1.stdid = t2.stdid and t1.score != t2.score and t1.csid != t2.csid
group by t1.stdid
不管下面的答案是什么,数据显示问题最好在应用程序代码中解决——在本例中是一点PHP。这里有成千上万的例子,所以我不会再添加另一个。好的,谢谢你,我只是希望一个mysql查询可以为我得到这个结果,即使可能还有一个案例,课程将不仅仅是CSC_111_ca和CSC_111_ex。。我将一直考虑使用更多的php来处理iThanks,但这是我运行查询时得到的结果