Max W.: SELECT-Abfragen in MySQL verbinden

Hallo!
Ich sitze seit Tagen vor dem Quelltext einer PHP-Datei, die auf eine MySQL-Datenbank zugreift, ohne Fortschritte zu machen.

Kennt jemand eine Möglichkeit, zwei SELECT-Abfragen zu verbinden?
Über eine AND-Verknüpfung ist das leider nicht möglich.

$abfrage_1 = "SELECT name FROM tabelle_1 WHERE (ID) = Variable";

$abfrage_2 = "SELECT COUNT(zutat) AS score FROM tabelle_2 WHERE MATCH (zutat) AGAINST ('Suchbegriff1 Suchbegriff2 Suchbegriff3')";

Dankbar für jeden Hilfe,
Max

  1. Hallo,

    vermutlich suchst du nach der Verwendung von SUBSELECTS.

    Grüße, Matze

    1. vermutlich suchst du nach der Verwendung von SUBSELECTS.

      Danke erstmal!
      Das Problem dabei ist, dass die beiden SELECTS nicht unmittelbar logisch miteinander verknüpft sind, also nicht in einer "ist gleich"-Beziehung oder so stehen. Um aber beide Werte (name und score) über PHP in einer Tabellenzeile ausgeben zu können, müssen beide in einer PHP-Variablen ($abfrage) gespeichert sein.

      Habe es noch über einen Array versucht, funktioniert aber leider auch nicht:

      $abfrage = array(SELECT..., SELECT...);

      (Wenn unverständlich, bitte sagen!)

      Gruß, Max

  2. yo,

    Kennt jemand eine Möglichkeit, zwei SELECT-Abfragen zu verbinden?

    nicht ist das sinnvoll, wenn es sich um zwei voneinander unabhängige abfragen handelt. eine oder zwei abfragen an das dbms macht nicht wirklich einen grossen unterschied, ist aber in code in aller regel besser lesbar.

    aber wenn du schon die ergebnismengen zwei abfragen zusammenfügen willst, schau dir mal den Operator UNION ALL an. Dabei ist zu beachten, dass die anzahl der auszugebenden spalten bei beiden abfragen gleich sein muss.

    Ilja

    1. aber wenn du schon die ergebnismengen zwei abfragen zusammenfügen willst, schau dir mal den Operator UNION ALL an.

      Es funktioniert, sowas hab ich gesucht!
      Tausend Dank!