Eine Abfrage für 2 Tabellen (unverknüpft)

Hillary

Mitglied
Eine Abfrage für 2 Tabellen (MySQL) (unverknüpft)

Nach 3 Tagen-Suche, und trotz der vielen Beiträge zum Thema, bin
ich zu keiner Lösung gekommen. Ich habe mehrere Varianten getestet für folgende Aufgabe:

Eine Suche in 2 Tabellen die keinen Bezug zueinander haben,
aber die selben Spaltennamen. Die Suchergebnisse beider Tabellen
sollen dann ausgegeben werden.

Diese beiden Abfragen möchte ich in einer verknüpfen
PHP:
$sql = "SELECT ID, titel, url, besch, land 
FROM Test2
WHERE 
   titel LIKE '$suchfeld' OR 
   url LIKE '$suchfeld' OR 
   besch LIKE '$suchfeld'";
und
PHP:
$sql = "SELECT ID, titel, url, besch, land 
FROM Test3
WHERE 
   titel LIKE '$suchfeld' OR 
   url LIKE '$suchfeld' OR 
   besch LIKE '$suchfeld'";

Einzeln funktionert dies. Nach vielen nachgelesenen
Anregungen habe ich folgendes versucht. Funktioniert
ebenfall getrennt, aber sobald eine 2. Tabelle
in Spiel kommt geht nichts mehr
PHP:
$sql = "SELECT test2.ID, test2.titel, test2.url, test2.besch, test2.land, 
test3.ID, test3.titel, test3.url, test3.besch, test3.land
FROM Test2, Test3
WHERE Test2.titel LIKE '$suchfeld' OR
Test3.titel LIKE '$suchfeld' OR
Test2.url LIKE '$suchfeld' OR
Test3.url LIKE '$suchfeld' OR
Test2.besch LIKE '$suchfeld' OR
Test3.besch LIKE '$suchfeld'";
Keine Datensätze werden ermittelt

ebenso hier in einer kürzeren Fassung:
PHP:
$sql = " SELECT a.*, b.*
FROM Test2 as a and Test3 as b
WHERE a.besch LIKE '$suchfeld' OR b.besch LIKE '$suchfeld'";
und viele Varianten davon....

Soweit ich mich mit Joins beschäftigt habe (leider nicht viel) kommen
diese nicht in Frage. Da keine Verbindung zwischen den Tabellen. (?)
Für eure Hilfe bin ich dankbar
 
Zuletzt bearbeitet:
Hallo!

Hast du schonmal den UNION-Befehl versucht:

Code:
  SELECT ID, titel, url, besch, land 
  FROM Test2 
  WHERE 
     titel LIKE '$suchfeld' OR 
     url LIKE '$suchfeld' OR 
     besch LIKE '$suchfeld'
UNION 
  SELECT ID, titel, url, besch, land 
  FROM Test3 
  WHERE 
     titel LIKE '$suchfeld' OR 
     url LIKE '$suchfeld' OR 
     besch LIKE '$suchfeld'
 
Vielen Dank! Ein Stückchen bin ich weiter.
Die Abfrage funktionert aber noch immer nicht:

Diese Abfrage ergibt nun die DS beider Tabellen
PHP:
$sql = " SELECT ID, titel, url, besch, land
FROM Test2
UNION
SELECT ID, titel, url, besch, land
FROM Test3";
Soweit so gut

Die Abfrage nach $suchfeld funktionert.
Jedoch erhalte ich für diese Abfrage nur die
Ergebnisse aus Tabelle Test2.

PHP:
$sql = " SELECT ID, titel, url, besch, land
FROM Test2
WHERE 
  titel LIKE '$suchfeld' OR 
  url LIKE '$suchfeld' OR 
  besch LIKE '$suchfeld'
UNION
SELECT ID, titel, url, besch, land
FROM Test2
WHERE 
  titel LIKE '$suchfeld' OR 
  url LIKE '$suchfeld' OR 
  besch LIKE '$suchfeld'";
Hab ich mich bei der Umsetzung vertan?
Test3 will einfach nichts ausspucken (keinerlei Fehlermeldungen), obwohl doch die
1. Abfrage ohne WHERE funktionert.
 

Neue Beiträge

Zurück