2016-08-18 8 views
0

Ich habe eine Abfrage:das Ergebnis einer Abfrage in einem anderen Abfrage

$sql1="SELECT column1 FROM table_A WHERE username LIKE '".$username."';"; 
// This may return multiple rows 

Jetzt muss ich in einem anderen das Ergebnis dieser Abfrage verwendet werden kann: Dies ist

$sql2="select all from table_B where mycolumn equals to result we got above" 
+1

Und was verhindert, dass Sie genau das tun? Holen Sie das Ergebnis von der ersten Abfrage wie normal und verwenden Sie es in der zweiten Abfrage? – Epodax

+0

oder erstellen Sie einfach eine Abfrage wie '$ sql2 = "Wählen Sie alle aus Tabelle_B wo meine Spalte gleich (SELECT Spalte1 FROM Tabelle_A WHERE Benutzername LIKE'". $ Benutzername. "');' –

+0

Mein Wissen ist schlecht, einige Hilfe wäre toll – user6650650

Antwort

2

Versuchen:

$sql = "select all from table_B where mycolumn in (SELECT column1 FROM table_A WHERE username LIKE'".$username."')"; 
+0

Hey, das funktioniert Mann, danke =) – user6650650

+0

@ user6650650 beachten Sie SQL-Injektionen. –

1

Verwendung JOINS:

$sql = "SELECT 
       table_B.* 
     FROM table_A 
     INNER JOIN table_B ON (table_A.column1 = table_B.mycolumn) 
     WHERE table_A.username LIKE '".$username."'"; 
Verwandte Themen