php – 内连接数组结果
发布时间:2020-12-13 17:13:16 所属栏目:PHP教程 来源:网络整理
导读:查看此数组,可以看到只有foo6值与每个父键不同: Array( [0] = Array ( [foo1] = Apple [foo2] = Banana [foo3] = Carrots [foo4] = Deer [foo5] = Feather [foo6] = Grapes ) [1] = Array ( [foo1] = Apple [foo2] = Banana [foo3] = Carrots [foo4] = Deer
|
查看此数组,可以看到只有foo6值与每个父键不同:
Array
(
[0] => Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Grapes
)
[1] => Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Heater
)
[2] => Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Quail Eggs
)
)
查询: SELECT
tpp.page_master_properties_style AS foo1,tpp.page_master_properties_bg AS foo2,tpp.page_master_properties_data AS foo3,tpp.page_properties_style AS foo4,tpp.page_properties_bg AS foo5,tpp.page_properties_data AS foo6,tobj.objects_script AS foo6
FROM templates t
INNER JOIN category tc
ON t.category_id = tc.category_id
INNER JOIN page_properties tpp
ON t.templates_id = tpp.templates_id
INNER JOIN objects tobj
ON t.templates_id = tobj.templates_id
WHERE
t.templates_id = ?
哪里? = 1 这可能是因为Table对象有多个templates_id条目: +--------------+----------------+-----------------+ | objects_id | templates_id | objects_script | +--------------+----------------+-----------------+ | 1 | 1 | Grapes | | 2 | 1 | Heater | | 3 | 1 | Quail Eggs | | 4 | 2 | Milk | | 5 | 3 | Lemon | +--------------+----------------+-----------------+ 我想知道是否有任何内置的mySQL函数可以将foo6组合成一个奇异的数组,例如实现这样的结果: Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Array
(
[0] => Grapes
[1] => Heater
[2] => Quail Eggs
)
)
解决方法
这看起来像是mysql arsenal中的
group_concat作业:
SELECT
tpp.page_master_properties_style AS foo1,group_concat(tpp.page_properties_data) AS foo6,tobj.objects_script AS foo6
FROM templates t
INNER JOIN category tc
ON t.category_id = tc.category_id
INNER JOIN page_properties tpp
ON t.templates_id = tpp.templates_id
INNER JOIN objects tobj
ON t.templates_id = tobj.templates_id
WHERE
t.templates_id = ?
GROUP BY
tpp.page_master_properties_style AS foo1,tpp.page_properties_bg AS foo5
这会将tpp.page_properties_data中的所有行组合到唯一的数据行中并用逗号分隔 – 当您循环遍历数据集时,可以轻松地将explode分成数组. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
