Forum Moderators: coopster

Message Too Old, No Replies

Query on a Query - How to link the two

Query on a Query - How to link the two

         

knippysing

4:10 pm on Jul 8, 2005 (gmt 0)

10+ Year Member



I used MS Access to design a query so that I could get the data out that I needed. I tried to convert that into a PHP/MySQL Query but for some reason I can't get it to fly. I can run $sqlquery1 by itself and it runs fine, it's getting the second linked query to work WITH the first that I can't seem to figure out. Any suggestions?

<?PHP
$var = $_GET['var'];
$var2 = $_GET['var2'];
$sqlquery1 = "SELECT DISTINCT AgrTask.Task, Equip.CustNo, Equip.ID, Task.Desc
FROM (AgrTask INNER JOIN Task ON AgrTask.MasterTask = Task.Task) INNER JOIN Equip ON AgrTask.CustNo = Equip.CustNo
WHERE Equip.ID='$var' AND Task.Desc Like '%$var2%'";
$sqlquery2 = "SELECT $sqlquery1.Task, $sqlquery1.CustNo, $sqlquery1.ID, $sqlquery1.Desc, Task.Desc
FROM Task INNER JOIN $sqlquery1 ON Task.Task = $sqlquery1.Task
ORDER BY $sqlquery1.Task";
$result = mysql_query($sqlquery2) or die (mysql_error());

$num=mysql_num_rows($result);
$i=0;

while ($i < $num) {
$a=mysql_result($result,$i,"Desc");

print ($i % 2)? "<tr bgcolor=\"F0F0F0\">" : "<tr bgcolor=\"FFFFFF\">";

print "<td align=left><font Times size=3 px>$a</font></td>";

++$i;
}
?>

ChadSEO

9:59 pm on Jul 8, 2005 (gmt 0)

10+ Year Member



One way that you could do this is to setup a View within MySQL, ala

CREATE VIEW MyView1 AS
SELECT DISTINCT AgrTask.Task, Equip.CustNo, Equip.ID, Task.Desc
FROM (AgrTask INNER JOIN Task ON AgrTask.MasterTask = Task.Task) INNER JOIN Equip ON AgrTask.CustNo = Equip.CustNo

Then, your PHP would look like:

$sqlquery1 = "SELECT Task, CustNo, ID, Desc
FROM MyView1
WHERE ID='$var' AND Desc Like '%$var2%'";

$sqlquery2 = "SELECT MyView1.Task, MyView1.CustNo, MyView1.ID, MyView1.Desc, Task.Desc
FROM Task INNER JOIN MyView1 ON Task.Task = MyView1.Task
ORDER BY MyView1.Task";