【发布时间】:2013-07-08 12:15:44
【问题描述】:
我有一个名为 $arrResult 的数组。我从复杂的 JOIN SQL 查询中收到了这个数组。供您参考,我在这里打印数组:
Array
(
[21e86b3ebf6a8af2a9fcf136c4f8e88a] => 1
[e7e95de96987cc7c89c1f0183110fb38] => 3
[42eaca88ae0079a77604d75d30846e46] => 1
[fc55acb1edc47d2dc339562db4c13729] => 1
[9f27643023a83addd5eed41c4aade840] => 3
[5810758e0ee945090506e02c35222f0e] => 3
)
如您所见,数组中的键(即test_pack_id)不同,但值(即test_pack_type_id)会重复。在某些情况下,这些值可能是唯一的。
数据库中有一个名为test_packages的表,其字段为test_pack_id,该字段也是该表的主键。 test_pack_id 字段包含来自上述数组的值(即上述数组的键)以及已经存在的其他类似值。此表有另一个名为 test_pack_type_id 的字段,其中包含上述数组中的值(即 1、3 等)
现在,我只想从该表中获取那些记录,其中test_pack_id 不等于上述数组中的test_pack_id,但具有与该特定 test_pack_id 关联的相同test_pack_type_id。
此外,要求是获取的 test_pack_ids 应按test_pack_type_id 分组。我尝试了很多技巧来获得所需的结果,但无法获得。谁能帮我得到想要的结果?
表test_packages的结构如下:
test_pack_id varchar(32)
test_pack_name varchar(255)
test_pack_desc text
test_pack_type_id smallint(4)
【问题讨论】:
-
你应该发布你的表结构和sql语句。
-
@jeroen:感谢您的建议。现在我已经添加了表 test_packages 的表结构。
-
请添加输出应该是什么样子
-
@matino:输出应包含所有 test_packages 根据上述由 test_pack_type_id 分组的标准。简而言之,应该运行对唯一 test_pack_type_id 的查询,但它不应包含上述数组中提到的 test_packages。
-
如果查询提取test_pack_ids然后使用循环分组就可以了
标签: php mysql sql arrays associative-array