Combining 2 Mysql query results
Posted: Sun Sep 04, 2011 11:20 pm
Hi All,
Below is my code to add the two different query results into one. This is working fine when both the queries have same no.of rows.
eg: row1 = 1 2 3 (Query1)
row2 = 3 5 5 (Query2)
o/p: 4 7 8
Let's say, I have few rows which are not exactly matched with first query.
eg: row1 = 1 2 3 2 (Query1)
row2 = 3 empty empty 5 (Query2)
o/p : 4 2 3 7 (I want the o/p to be like this)
empty means there is no data from the second query.
In my while, && working fine when the 2 queries have same no.of rows.
while (($row1 = mysql_fetch_assoc($rs1)) && ($row2 = mysql_fetch_assoc($rs2)))
{
$strHtml .= "<tr>";
$strHtml .= "<td align=center colspan=3>".($row1['Calls']+$row2['Calls'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['actual_duration(min)A']+$row2['actual_duration(min)A'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['call_usage']+$row2['call_usage'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['disconnection_charge']+$row2['disconnection_charge'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['total_revenue']+$row2['total_revenue'])."</td>";
$strHtml .= "</tr>";
}
Is the while loop i am using correct or there is any other better solution for this?
please help me, Thanks in advance.
Below is my code to add the two different query results into one. This is working fine when both the queries have same no.of rows.
eg: row1 = 1 2 3 (Query1)
row2 = 3 5 5 (Query2)
o/p: 4 7 8
Let's say, I have few rows which are not exactly matched with first query.
eg: row1 = 1 2 3 2 (Query1)
row2 = 3 empty empty 5 (Query2)
o/p : 4 2 3 7 (I want the o/p to be like this)
empty means there is no data from the second query.
In my while, && working fine when the 2 queries have same no.of rows.
while (($row1 = mysql_fetch_assoc($rs1)) && ($row2 = mysql_fetch_assoc($rs2)))
{
$strHtml .= "<tr>";
$strHtml .= "<td align=center colspan=3>".($row1['Calls']+$row2['Calls'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['actual_duration(min)A']+$row2['actual_duration(min)A'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['call_usage']+$row2['call_usage'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['disconnection_charge']+$row2['disconnection_charge'])."</td>";
$strHtml .= "<td align=center colspan=3>".($row1['total_revenue']+$row2['total_revenue'])."</td>";
$strHtml .= "</tr>";
}
Is the while loop i am using correct or there is any other better solution for this?
please help me, Thanks in advance.