是否可以执行单个查询并从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"}, …
实现这一目标的最简单方法是什么?
答案 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 …