2010-12-29 14 views
0

Mögliche Duplizieren:
SQL - Stumped on a SELECT - please help!!SQL - einfach 'ODER' funktioniert nicht!

Hallo! Ich habe 2 Tische bekam:

myTable1 - speichert Nutzernamen & benutzerkennungen
myTable2 - speichert E-Mails & benutzerkennungen

Was ich versuche, eine Zeile zurückkehren zu tun (s) eines Benutzername, E-Mail, beides oder keines, abhängig davon, welche (oder beide) genommen wird. Ich verwende den folgenden Code, bekomme aber seltsame Ergebnisse!

 
SELECT usr.username, pro.email 
FROM myTable1 AS usr, myTable2 AS pro 
WHERE usr.username = 'wookie' OR pro.email = '[email protected]' 


Ich erwarte zwei Spalten von 1 Zeile zu erhalten.

Säule: Benutzername, Reihe: 'wookie' und
Säule: E-Mail, Reihe: '[email protected]'

jedoch 'wookie' zu wiederholen Ich erhalte unzählig in Die Spalte mit dem Benutzernamen, und die E-Mail-Spalte hat nur Zeilen aller E-Mails der Benutzer ausgegeben (nicht die, die ich in der Anweisung angegeben habe).

Mache ich etwas falsch ??

+2

dies sieht genauso aus wie die Frage, die Sie vor einer Stunde gefragt .... –

+1

http://stackoverflow.com/questions/4552135/sql-stumped-on-a-select-bitte-help –

+0

Es gibt keinen Grund, sowohl mysql als auch sql-server zu markieren ... – ajreal

Antwort

2
select 
    usr.username, pro.email 
from 
    myTable1 as usr 
inner join 
    myTable2 as pro 
on usr.user_ids=pro.user_ids 
WHERE 
(usr.username='wookie' OR pro.email='[email protected]'); 
1

Vielleicht suchen Sie eine Verbindung oder so etwas.

SELECT 
    usr.username, 
    pro.email 
FROM 
    myTable1 AS usr 
    join myTable2 AS pro ON usr.user_ids = pro.user_ids 
WHERE 
    usr.username = 'wookie' OR pro.email = '[email protected]' 
0

Sie müssen ein Befehl beitreten tun denke ich:

Select 
    usr.username, 
    pro.email 

    from mytable1 usr 

    inner join mytable2 pro 
    on usr.user_id = pro.user_id 

    Where Statement 
Verwandte Themen