pivot、concat、一个表以及与另一个表的内部连接来创建单个表

vcudknz3  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(266)

我在创建mysql表时遇到了困难,我想在其中透视一个表并在透视后连接它的列,然后用另一个表内部连接它来创建单个表。
选择data\u id,max(name='applicationsfirstname'然后value else''end时的大小写)作为applicationsfirstname,
max(当name='appliantsmiddleName'然后value else“”结束时的大小写)作为appliantsmiddleName,
max(name='appliantslastname'然后value else“”结束时的大小写)作为appliantslastname,
max(name='fathersfirstname'然后value else“”end时的大小写)作为fathersfirstname,
max(当name='fatherlastname'然后value else“”end时为case)作为fatherlastname,
max(name='gender'然后value else''结束时的大小写)作为sex,
max(name='checkbox'然后value else''结束时的大小写)作为批准,
max(name='url'然后value else''end时的大小写)作为url,
max(name='text'然后value else''结束时的大小写)作为信息
从wphl\u cf7\u data\u entry group by data\u id
这个显示表的查询现在我需要连接名称并与另一个表进行内部连接。

bt1cpqcv

bt1cpqcv1#

我建议使用条件聚合,我认为:

select data_id,
       max(case when name = 'ApplicantsFirstName' then value end) as ApplicantsFirstName,
       max(case when name = 'ApplicantsMiddleName' then value end) as ApplicantsMiddleName,
       max(case when name = 'ApplicantsLastName' then value end) as ApplicantsLastName
from wphl_cf7_data_entry
group by data_id;

这也适用于mysql和sqlserver(原始数据库标记)。

相关问题