MySql - Abfrage über 2 Tabellen

Funky_MF

Erfahrenes Mitglied
Obwohl ich weiß, daß dieses Thema schön öfters behandelt wurde, habe ich doch keine entsprechende lösung bis jetzt gefunden, es geht um die Abfrage zweier Tabellen mit identische Spaltennamen.
Die beiden Tabellen heißen cc_members und cc_members_rev
Folgende Abfrage :
PHP:
	$q = 'SELECT * FROM cc_members, cc_members_rev WHERE (m_email = \''.$PHP_AUTH_USER.'\') AND (m_pwd = \''.$PHP_AUTH_PW.'\')';
führt zu der MySql-Errormeldung "Column: 'm_email' in where clause is ambiguous"

ambiguous = unklar, zweideutig

Was mache ich falsch ?
 
Aber woher soll MySQL das wissen?
MySQL sieht nur, dass Du in 2 Tabellen in der Spalte m_email nach einem Ergebnis sucht.
Welche Tabelle soll MySQL denn nun nehmen?
Wenn Du MySQL aber sagst cc_members.m_email = ... and cc_members_rev.m_email = ... dann weiß MySQL, dass es in beiden Tabellen in der Spalte m_email suchen soll.

redlama
 
Ich hab das jetzt mal folgendermaßen abgeändert,
PHP:
$q = 'SELECT * FROM cc_members, cc_members_rev WHERE (cc_members.m_email = \''.$PHP_AUTH_USER.'\' AND cc_members.m_pwd = \''.$PHP_AUTH_PW.'\')OR(cc_members_rev.m_email = \''.$PHP_AUTH_USER.'\' AND cc_members_rev.m_pwd = \''.$PHP_AUTH_PW.'\')';
Jetzt bekomme ich zwar keine MySql-Errormeldung mehr, aber die Abfrage als solche scheint nicht zu funktionieren, d.h. ich bekomme kein bzw. ein falsches Ergebnis zurück.
 
genau so eine abfrage benötige ich auch. ich hab 2 identische tabellen und will den inhalt beider tabellen anzeigen. also die folgenden abfragen in einer:
select * from tab1 where bedingung1
select * from tab2 where bedingung1

(also nicht nur die tabellen sind in meinem fall identisch sondern auch die filterbedingung)

habs: abfrage1 UNION abfrage2, die tabellen müssen nicht identisch sein, aber für order by muss man aliase vergeben und das is unpraktisch, da man dann nicht merh * verwenden kann.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück