2
我有两个疑问,同样[GROUP BY]字段,但不同的(和)计算领域。PHP连接两个DB2资源语句
我想要么:
添加[查询#2] [字段3] [查询#1] [字段4],对于每一个 记录
创建一个新的数组以稍后检索具有[A1],[A2],[A3],[B4]的 数据。
对于这两个不过,我需要知道的记录将是完全一样的顺序..也许“选择”从第二资源语句记录所有3个键值其加入到原来的。
$conn_resource = db2_connect ("*LOCAL", "", "");
$sql1 = "SELECT [A1], [A2], [A3], SUM([A4]) FROM [MyFile] WHERE [G] > 5 GROUP BY [A1], [A2], [A3] ";
$stmt1 = db2_prepare ($conn_resource, $sql1);
$sql2 = "SELECT [B1], [B2], [B3], SUM([B4]) FROM [MyFile] WHERE [G] > 5 GROUP BY [B1], [B2], [B3] ";
$stmt2 = db2_prepare ($conn_resource, $sql2);
if (! db2_execute ($stmt1) || ! db2_execute ($stmt2)) {
//failure
}
while ($row = &db2_fetch_array ($stmt1)) {
$sqlStatementTwoRow = db2_fetch_array ($stmt2);
$row[4] = $row[3] + $sqlStatementTwoRow[4];
}
上面的例子应该工作,在理论,但我没有确认从$ stmt2记录进来以相同的顺序为$ stmt1。
编辑 提供的答案似乎是解决方案中,我越来越迁移解决方案到我真正的SQL语句。
我将发布其采用这样的想法,一旦我把它完成了完整的,活的SQL。
有没有什么特别的关于你的'o'别名,还是你忘了把它放进去? – afuzzyllama 2011-04-21 02:53:37
道歉...我忘了为outerquery添加o别名。它现在在那里。 – 2011-04-21 23:08:48