kann man gleichzeitig 2 tabellen mit select abfragen ?

spesso

Mitglied
Hoi all,

ich habe zwei identische Tabellen erstellt und nun möchte ich gleichzeitig zwei Tabellen via suchfunktion miteinander abfragen z.B.

PHP:
		  <?
	$query = "
	SELECT 		* 
	FROM 		besepiel_pers AND beispiel2_pers
	WHERE 		pers_name LIKE '%".$searchstring."%' 
			OR	pers_description LIKE '%".$searchstring."%' 
			OR	pers_address LIKE '%".$searchstring."%' 
			OR	pers_phone LIKE '%".$searchstring."%' 
			OR	pers_email LIKE '%".$searchstring."%' 
	ORDER BY	pers_name ASC	
	";

wie muss der code genau aussehen damit es funktioniert ?
 
Servus!

Versuchs mal mit nem UNION ...

Gruss Tom

Code:
SELECT Tabelle1.index, Tabelle1.pers_name, Tabelle1.pers_description, Tabelle1.pers_address, Tabelle1.pers_phone, Tabelle1.pers_email
FROM Tabelle1 UNION SELECT Tabelle2.index, Tabelle2.pers_name, Tabelle2.pers_description, Tabelle2.pers_address, Tabelle2.pers_phone, Tabelle2.pers_email
FROM Tabelle2;
 
Servus!

funktioniert irgendwie nicht ... bekomme Fehlermeldungen

Welche ... ?

Welche DB ?

hast du die Tabellen Namen angepasst?

Bei einer UNION-Abfrage müssen die Tabellenstrukturen der beiden Tabellen übereinstimmen ...:

Im Beispiel Tabelle1
Code:
index pers_name pers_description pers_address pers_phone pers_email
1 Tom2 hkjhjkhjk hjkhkjhklj 99999997666 jjllllll@sssss.de


index pers_name pers_description pers_address pers_phone pers_email
1 Tom1 jjjjjj kkkkk 78978979 jkjkljkl@dddd.de



Abfrage:

SELECT Tabelle1.index, Tabelle1.pers_name, Tabelle1.pers_description, Tabelle1.pers_address, Tabelle1.pers_phone, Tabelle1.pers_email
FROM Tabelle1 UNION SELECT Tabelle2.index, Tabelle2.pers_name, Tabelle2.pers_description, Tabelle2.pers_address, Tabelle2.pers_phone, Tabelle2.pers_email
FROM Tabelle2;

Ergibt:

index pers_name pers_description pers_address pers_phone pers_email
1 Tom1 jjjjjj kkkkk 78978979 jkjkljkl@dddd.de
1 Tom2 hkjhjkhjk hjkhkjhklj 99999997666 jjllllll@sssss.de

...

Gruss Tom
 
Hallo tdar2 erstmal besten Dank für die Hilfe aber es will immer noch nicht recht. so funktioniert es:

PHP:
	  <?
		
			  
	$query = "
	SELECT 	    pers_id, cat_id, pers_name, pers_description, pers_address, pers_phone, pers_email, pers_picture
	FROM 		Tabelle1 	WHERE 		pers_name LIKE '%".$searchstring."%' 
			OR	pers_description LIKE '%".$searchstring."%' 
			OR	pers_address LIKE '%".$searchstring."%' 
			OR	pers_phone LIKE '%".$searchstring."%' 
			OR	pers_email LIKE '%".$searchstring."%' 
	ORDER BY	pers_name ASC	
	";

so funzt es ned :

PHP:
		  <?
		
			  
	$query = "
	SELECT 	    pers_id, cat_id, pers_name, pers_description, pers_address, pers_phone, pers_email, pers_picture
	FROM 		Tabelle1 UNION SELECT pers_id, cat_id, pers_name, pers_description, pers_address, pers_phone, pers_email, pers_picture FROM Tabelle2
	WHERE 		pers_name LIKE '%".$searchstring."%' 
			OR	pers_description LIKE '%".$searchstring."%' 
			OR	pers_address LIKE '%".$searchstring."%' 
			OR	pers_phone LIKE '%".$searchstring."%' 
			OR	pers_email LIKE '%".$searchstring."%' 
	ORDER BY	pers_name ASC	
	";

irgendwie klappt das mit UNION SELECT nicht ...
 
-

Ich gehe mal davon aus, dass es sich um eine MySQL Datenbank handelt. Da gibt es in den aktuellen Versionen keine Sub-Selects. Trenn deine Tabellennamen nach dem "FROM" mit Kommatas und du wirst Erfolg haben.
 
@Caminus

ja es handelt sich um eine MySQL DB nun ich habe mal was gemacht so weit ich dich verstanden habe jedoch ohne Erfolg.
Kannst Du mir eine Code-Beispiel geben damit ich es genau so machen kann wie du meinst.

Danke für deine Hilfe
 
SELECT * FROM Tabelle1 as t1 , Tabelle2 as t2 WHERE
t1.pers_name LIKE '%".$searchstring."%'
OR
t1.pers_description LIKE '%".$searchstring."%'
OR
t1.pers_address LIKE '%".$searchstring."%'
OR
t1.pers_phone LIKE '%".$searchstring."%'
OR
t1.pers_email LIKE '%".$searchstring."%'
OR
t2.pers_name LIKE '%".$searchstring."%'
OR
t1.pers_description LIKE '%".$searchstring."%'
OR
t2.pers_address LIKE '%".$searchstring."%'
OR
t2.pers_phone LIKE '%".$searchstring."%'
OR
t2.pers_email LIKE '%".$searchstring."%'

ORDER BY t1.pers_name ASC
 

Neue Beiträge

Zurück