2010-11-30 6 views
1

Ich habe 2 Tabellen in Mysql: tableA und tableBmysql query - Feld Zugriff ohne Ausgang zu beeinflussen

tableA: idA 
tableB: idB, name 

Jetzt möchte ich folgende Abfrage Feuer:

SELECT * FROM tableA WHERE idA in (1, 2, 3, 4); 

idA und idB sind genau gleich. Ich möchte in der obigen Abfrage auf das Feld "name" von tableB zugreifen.

Wie mache ich das ???

vielen Dank für die Hilfe Grüße

Antwort

4

ein MySQL JOIN

SELECT tableB.name 
     FROM tableA 
INNER JOIN tableB ON tableA.idA=tableB.idB 
    WHERE idA in (1, 2, 3, 4); 
+0

Danke für die Reinigung, OMG Ponies :) – Yahel

0

Warum wählen Sie aus TableA verwenden, wenn Sie nur die ID benötigen, die bereits in tableB ist?

SELECT idB, name FROM tableB where idB in (1, 2, 3, 4) 

Wenn Sie das ID-Feld als idA Bezug zu nehmen, dann können Sie

SELECT idB as idA, name FROM tableB where idB in (1, 2, 3, 4) 
0

Dank viel für die Hilfe schreiben ...

ich nur vergessen, die grundlegende Sache (dank @yc du erinnerst mich):

SELECT idA, name FROM tabelleA, tabelleB WHERE idA in (1, 2, 3, 4) und idA = idB;

Grüße

Verwandte Themen