查询多个表并只返回一个数组?

时间:2009-08-27 16:35:28

标签: php database arrays postgresql

嘿所有,我想知道以下最佳方法是:

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

3 个答案:

答案 0 :(得分:1)

听起来像是想要UNION

答案 1 :(得分:0)

使用联盟:

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

答案 2 :(得分:0)

如果您的结果很低,使用UNION可能就是答案。 UNION对数据库服务器有点负担,有些数据库很难对它们进行优化。通过使用存储过程或进行5个查询然后执行数组合并,将允许数据库服务器缓存一些结果并提高数据库性能。

如果结果集很低并且调用次数不多,那么使用UNION应该没问题。