如何解决如何从子数组中提取数据并合并
| 我进行数据库调用以列出属于用户的所有\“类别\”。这给我返回了一个数组,每个子类别都有特定数据的子数组。 如何从中选择类别ID,然后将它们组合起来以构成一个新查询,以获取这些类别中的所有帖子? 表格:\“ assignments \”和\“ classes \”。 配属:Assignmentid,classid,... 类:类名,用户名,... 这是我正在使用的代码。$query = dbquery(\"SELECT classid,classinfo FROM classes WHERE userid = 1\");
这给我返回了一个带有子数组的数组:
Array (
[0] => Array ( [classid] => 2 [classinfo] => classinfo )
[1] => Array ( [classid] => 3 [classinfo] => classinfo )
...
我将如何提取所有的classid,然后将它们列出为\“ 2 OR 3 OR ... \”以便在另一个MySQL查询中使用?
解决方法
您实际上不必这样做(在PHP中获取classid,然后发送另一个查询)。您可以使用类似的查询:
SELECT assignments.assignmentid,assignments.classid,assignments.otherfield
FROM assignments
WHERE assignments.classid IN
( SELECT classid,classinfo
FROM classes
WHERE userid = 1
)
要么
SELECT assignments.assignmentid --- or whatever fields you want,assignments.classid --- from table assignments,classes.classinfo --- or table classes
FROM assignments
JOIN classes
ON assignments.classid = classes.classid
WHERE classes.userid = 1
这两个查询将显示几乎相同的结果(如果从第二个查询中删除“ 4”,则结果将相同)。也就是说,与userid = 1的类相关的所有分配数据。
网上有许多SQL教程。您可以尝试例如:w3schools.com
, 在类别数组上加5,建立新数组或简单字符串,您可以将它们包括在后查询中。
我可以说的就是这些,而无需批评一些特定的代码。虽然,听起来您可以完全在SQL中完成某些事情。 (根据您的缓存需求,可能适用或可能无效。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。