我有以下数据数组
2889 1 1062
2889 8 John Smith
2889 6 0.29
2891 1 1117
2891 8 Jamie Dean
2891 6 2
2892 1 1062
2892 8 John Smith
2892 6 4
第一列是与来自网站的表单条目相关的条目id列表,第二列是与表单中的字段相关的meta\u键列表,最后一列是来自这些字段的数据。
我需要做的是整理数组中的数据,以便为我拥有的每个人:
ID Number(Meta_key 1)
Name(Meta_key 8)
Sum(Hours Owed(Meta_key 6))
我不知道如何开始这项任务,任何帮助将非常感谢。
这些数据都是通过以下查询从数据库中提取的:
select
entry_id,
meta_key,
meta_value
from
staff_gf_entry_meta
where
form_id = 48
and
entry_id in (
select
entry_id
from
staff_gf_entry_meta
where
meta_key = 7
and
form_id = 48
and
meta_value <= '2018-12-18'
and
meta_value >= '2018-12-12'
)
and (
meta_key = 1
or
meta_key = 8
or
meta_key = 6)
如果需要,可以修改查询。
2条答案
按热度按时间fnvucqvd1#
你可能需要一个
GROUP BY
与SUM
聚合函数。要获得一行中的所有键/值对,您需要JOIN
多个查询。我假设了下表的结构和数据:
结果:
6qftjkof2#
从下面开始,从那里开始构建。
理想情况下,元数据ID与其标签之间的Map应该存储在数据库中,而不是在应用程序中硬编码。