PHP:将两个查询合并为一个或两个查询结果到一个数组中?

时间:2014-07-06 03:25:38

标签: php arrays inner-join

是否可以执行单个查询并从TWO表中检索值,如下面的伪代码?

SELECT table1.Key, table2.Id
 FROM table1, table2
 INNER JOIN table2
 ON table1.text=table2.text AND table1.amount = table2.amount
WHERE …

如果没有,我基本上需要做的是对表进行两次连续查询,然后将结果合并到一个(json_encoded)数组中,这样

数组1(第一个查询):[{"Key":"63058"},{"Key":"63059"},…

数组2(第二个查询):[{"id":"1010","amount":"5820"},{"id":"1011","amount":"6820"}, …

变为

[{"Key":"63058", "id":"1010","amount":"5820"},{"Key":"63059", "id":"1011","amount":"6820"}, …

实现这一目标的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

您不应该两次列出table2。它应该只在JOIN子句中,而不在FROM子句中。否则,您的查询是正确的 - 这是连接两个(或更多)表并从两个表返回值的常规方法。所以它应该是:

SELECT table1.Key, table2.Id
FROM table1
INNER JOIN table2
ON table1.text=table2.text AND table1.amount = table2.amount
WHERE …