我将尝试从WordPress数据库中获取信息;我需要的数据分散在三个表中:
这将返回:
我需要捕获所有的元记录,并以某种方式将它们与父记录关联起来,最好是作为它们所代表的键值对。
- wp_em_events
- wp_em_locations
- wp_postmeta
wp_em_events
+-----+--------+-----+
| id | loc_id | a |
+-----+--------+-----+
| 1 | 3 | foo |
| 2 | 4 | bar |
+-----+--------+-----+
wp_em_locations
+--------+----+
| loc_id | b |
+--------+----+
| 3 | x |
| 4 | y |
+--------+----+
wp_postmeta
+-------+------+------+
|post_id| key |value |
+-------+------+------+
| 1 | name | dave |
| 1 | age | 14 |
| 2 | name | rob |
| 2 | age | 20 |
+-------+------+------+
$querystr = "
SELECT *
FROM wp_em_events
LEFT JOIN wp_em_locations ON wp_em_events.loc_id = wp_em_locations.loc_id
LEFT JOIN wp_postmeta ON wp_em_events.id = wp_postmeta.post_id
WHERE wp_em_events.id = 1
GROUP BY wp_em_events.location_id, wp_em_events.id
";
这将返回:
+-----+--------+-----+----+-----+-------+
| id | loc_id | a | b | key | value |
+-----+--------+-----+----+-----+-------+
| 1 | 3 | foo | x | age | 20 |
+-----+--------+-----+----+-----+-------+
我的GROUP BY破坏了名称->dave,我希望得到:
+-----+--------+-----+----+-----+-----+
| id | loc_id | a | b | name| age |
+-----+--------+-----+----+-----+-----+
| 1 | 3 | foo | x | dave| 14 |
+-----+--------+-----+----+-----+-----+
我需要捕获所有的元记录,并以某种方式将它们与父记录关联起来,最好是作为它们所代表的键值对。