Php 查询多个表而只返回单个数组?

Php 查询多个表而只返回单个数组?,php,database,arrays,postgresql,Php,Database,Arrays,Postgresql,大家好,我想知道做以下事情的最佳方法是什么: 查询最多5个表(取决于用户输入)返回结果并返回单个数组。假设我查询表A并将结果存储为结果句柄(从pg_query()fn返回),是否继续将它们转换为数组,然后继续将后续查询的结果附加到该数组?如果是这样的话,我可以简单地使用array_merge()函数吗?听起来你想要一个联合体。使用联合体: SELECT col1, col2 FROM a UNION SELECT col1, col2 FROM b 只有当你的成绩很低时,使用工会才可

大家好,我想知道做以下事情的最佳方法是什么:

查询最多5个表(取决于用户输入)返回结果并返回单个数组。假设我查询表A并将结果存储为结果句柄(从pg_query()fn返回),是否继续将它们转换为数组,然后继续将后续查询的结果附加到该数组?如果是这样的话,我可以简单地使用array_merge()函数吗?

听起来你想要一个联合体。

使用联合体:

SELECT col1, col2
  FROM a
 UNION
SELECT col1, col2
  FROM b

只有当你的成绩很低时,使用工会才可能是答案。UNION对DB服务器有点负担,一些DB很难对其进行优化。通过使用存储过程或进行5次查询,然后执行数组合并,将允许DB服务器缓存一些结果并提高DB性能


如果结果集很低,调用也不多,那么使用UNION就可以了。

结果集将有10到1000个。我宁愿独立查询每个表(实际上是一个视图),然后使用PHP连接结果,因此我想到使用数组_merge()fn。好的。那么是的,
array\u merge()
就是您想要的。