Jo: MySQL: Subselects übergreifend

Beitrag lesen

Hi!

SELECT

IFNULL(subcats, catid)
FROM
(SELECT t3.id AS catid FROM cats AS t3 WHERE t3.name='Akrobatik') AS ids,
(SELECT t1.name AS subcats  FROM cats AS t1  WHERE t1.subcategoryid = catid) AS names


> >   
> > Dieser Query klappt nicht:  
> > Unknown column 'catid' in 'where clause'  
>   
> Alias-Namen und andere Dinge aus der SELECT-Klausel stehen in der WHERE-Klausel noch nicht zur Verfügung oder besser gesagt: zum Zeitpunt der WHERE-Klausel-Auswertung) erst HAVING kann darauf zugreifen. Außerdem bist du hier erst im FROM und ohne dass bereits eine Verknüpfung ausgeführt wurde. Die beiden Teilmengen müssen sich unabhängig voneinander ermitteln lassen. Erst dann kann man sie miteinander in Verbindung bringen (im äußeren WHERE oder durch Joins). Reicht das fürs erste, damit du weißt, in welche Richtung der Umbau der Query gehen muss?  
  
  
Nein weil ich ja nur den Namen einer Kategorie geleifert bekomme. Verstehe nicht wie ich das unabhängig voneinander machen soll. Du musst dazu wissen ich habe gestern schon zwei Stunden nur in diesen Query gesteckt und ursprünglich war das mal ein Join gewurschtel.  
Bitte machs noch etwas deutlicher.  
  
Gruß , jo