Mysql 将具有相同ID的多行合并到一个

Mysql 将具有相同ID的多行合并到一个,mysql,sql,join,pivot,Mysql,Sql,Join,Pivot,我在SQL查询方面遇到问题。我有两张桌子 我的第一张桌子: +------------+-------------+---------------+ | id_mission | Some column | Other column | +------------+-------------+---------------+ | 1 | ... | ... | | 2 | ... | ...

我在SQL查询方面遇到问题。我有两张桌子

我的第一张桌子:

+------------+-------------+---------------+
| id_mission | Some column | Other column  |
+------------+-------------+---------------+
|      1     |     ...     |      ...      |
|      2     |     ...     |      ...      |
+------------+-------------+---------------+
我的第二张桌子:

+------------+-------------+---------+
| id_mission | id_category | points  |
+------------+-------------+---------+
|          1 |           1 |       3 |
|          1 |           2 |       4 |
|          1 |           3 |       4 |
|          1 |           4 |       8 |
|          2 |           1 |      -4 |
|          2 |           2 |       3 |
|          2 |           3 |       1 |
|          2 |           4 |      -7 |
+------------+-------------+---------+
我想在我的
SELECT
请求中得到这种结果

+------------+-------------+--------------+---------------+----------------+
| id_mission | Some column | Other column | id_category 1 | id_category X  |
+------------+-------------+--------------+---------------+----------------+
|          1 |         ... |          ... |           ... |            ... |
|          2 |         ... |          ... |           ... |            ... |
+------------+-------------+--------------+---------------+----------------+
我在前两个专栏中尝试过这一点,但它不起作用,我也尝试过
GROUP\u CONCAT
,它起作用,但不是我想要的结果

选择m.id\U任务、mc.id\U类别1、mc1.id\U类别2
来自m团
在m.id\U任务=mc.id\U任务上左加入任务\U类别mc
在m.id\U任务=mc1.id\U任务上左加入任务类别mc1

有人能帮我吗?

您可以使用条件聚合。假设您希望按类别旋转
值:

select 
    t1.*,
    max(case when t2.id_category = 1 then points end) category_1,
    max(case when t2.id_category = 2 then points end) category_2,
    max(case when t2.id_category = 3 then points end) category_3
from t1
inner join t2 on t2.id_mission = t1.id_mission
group by t1.id_mission
    

这假设
id\u mission
t1
的主键(否则,您需要在
select
groupby
子句中枚举所需的列)。

您对结果集的描述与第一个表相同。需要更多的细节和解释。thta是一个简单的示例如何构建数据透视表如果您需要帮助,您必须提供示例数据,而不仅仅是----