Mysql sql从id为时选择多个值

Mysql sql从id为时选择多个值,mysql,sql,Mysql,Sql,以下是我的桌子的外观: fid | section | baseData 59 | 58 | somedata 59 | 58 | somedata 60 | 58 | somedata 我需要获得如下数据: 所有者、姓名、电子邮件 所有值都在表baseData中,但所有者为fid=59,名称为fid 70,电子邮件为fid 71 因此,我想得到: owner | name | email owner_n

以下是我的桌子的外观:

fid  | section  | baseData
59   |    58    |  somedata
59   |    58    |  somedata
60   |    58    |  somedata
我需要获得如下数据:

所有者、姓名、电子邮件

所有值都在表baseData中,但所有者为fid=59,名称为fid 70,电子邮件为fid 71

因此,我想得到:

 owner       |  name       |  email
 owner_name  |  user_name  | user_email
 owner_name2 |  user_name2 | user_email2
我试着这样做:

SELECT fid, 
(CASE 
WHEN (fid = 59 AND section = 58)
THEN baseData
END) AS owner
FROM sobipro_field_data
WHERE section = 58 GROUP BY fid
但是只得到空值

我想得到的是:

When fid = 59 -> select baseData as owner
When fid = 70 -> select baseData as name
When fid = 71 -> select baseData as email
一节:

SELECT  
    max(CASE WHEN (fid = 59) THEN baseData ELSE null END) AS owner,  
    max(CASE WHEN (fid = 70) THEN baseData ELSE null END) AS name,  
    max(CASE WHEN (fid = 71) THEN baseData ELSE null END) AS email  
FROM sobipro_field_data  
WHERE section = 58;
对于每个部分:

SELECT section,
    max(CASE WHEN (fid = 59) THEN baseData ELSE null END) AS owner,  
    max(CASE WHEN (fid = 70) THEN baseData ELSE null END) AS name,  
    max(CASE WHEN (fid = 71) THEN baseData ELSE null END) AS email  
FROM sobipro_field_data  
group by section;

我不知道第一个表和最后一个SQL与您所需的输出有什么关系。我读了几遍,但真的不明白您真正在看什么?您是说您使用一列(fid)来关联三列(所有者、名称和电子邮件)?
SELECT section,
    max(CASE WHEN (fid = 59) THEN baseData ELSE null END) AS owner,  
    max(CASE WHEN (fid = 70) THEN baseData ELSE null END) AS name,  
    max(CASE WHEN (fid = 71) THEN baseData ELSE null END) AS email  
FROM sobipro_field_data  
group by section;