Franziska: Gleiche Abfrage nur 2 Select zu einer Verbinden

Beitrag lesen

Ich habe zwei SELECT Abfragen, ist es möglich wegen der Performence die beiden Abfrage zu einer zusammenzufassen und so das ganze auch noch schneller zu machen?

1 Select Abfrage:

SELECT n.name,n.lft,n.rgt, COUNT( * ) -1 AS LEVEL  
FROM nestedset AS n, nestedset AS p  
WHERE n.lft  
BETWEEN p.lft  
AND p.rgt  
GROUP BY n.lft  
HAVING COUNT( * ) =2  
ORDER BY n.lft  

2 Select Abfrage:

SELECT Name FROM nestedset p WHERE lft>'$main->lft' AND rgt<'$main->rgt' ORDER BY lft";

In der ersten Frage ich die Hauptkategorien ab, und in der zweiten gebe ich die dazugehörigen Unterkategorien dann in einer Schleife aus.

Komplett mit php code:

  
$sql =  "SELECT n.name,n.lft,n.rgt, COUNT( * ) -1 AS LEVEL  
FROM nestedset AS n, nestedset AS p  
WHERE n.lft  
BETWEEN p.lft  
AND p.rgt  
GROUP BY n.lft  
HAVING COUNT( * ) =2  
ORDER BY n.lft";  
  
$result = mysql_query($sql)or die($sql.'<br>'.mysql_error());  
  
while ($main = mysql_fetch_object($result))  
	{  
	  
		echo $main->name.'<br>';  
  
		$sql =  "SELECT Name FROM nestedset p WHERE lft>'$main->lft' AND rgt<'$main->rgt' ORDER BY lft";  
		$result2 = mysql_query($sql)or die($sql.'<br>'.mysql_error());  
  
		while ($main2 = mysql_fetch_object($result2))  
			{  
			echo $main2->Name.', ';  
			}  
  
		echo '<br><br>';  
  
	}