Hans Rulsdorf: Join

hi,

ich habe mysql 4.1 und möchte folgenden join machen:

select * from erstetabelle AS a
left join (
select COUNT(*) AS anzahl from zweitetabelle AS b
where a.id = b.id)
where a.wert = x

das geht leider nicht. zur frage: ich möchte aus der außeren tabelle eine condition nach innen geben. also in den left join reingeben.

geht sowas?

gruß

hans

  1. echo $begrüßung;

    select * from erstetabelle AS a
    left join (
    select COUNT(*) AS anzahl from zweitetabelle AS b
    where a.id = b.id)
    where a.wert = x

    das geht leider nicht.

    Stimmt. Die Syntax von JOIN verlangt in den meisten Fällen ein anschließendes ON bedingung oder ein USING (feldnamen)

    ich möchte aus der außeren tabelle eine condition nach innen geben. also in den left join reingeben.

    Was du möchtest ist aber kein Join, sondern nur ein Feld mit einem aus einer Subquery berechneten Wert.

    geht sowas?

    SELECT *, (SELECT COUNT(*) FROM zweitetabelle AS b WHERE a.id = b.id) AS anzahl
    FROM erstetabelle AS a
    WHERE a.wert = x

    echo "$verabschiedung $name";