2017-03-24 10 views
-1

Ich brauche etwas Hilfe. Ich habe 2 TabellenMYSQL JOIN zwischen 2 Tabellen

Table1      Table2 
id | user_id    id | user_id | device_token 
1 4      1  4  7854239213 
2 5      2  4  1232131232 
3 9      3  5  1232132131 
          4  5  1231321312 

Ich brauche eine Abfrage zu machen, die erste ID von table1 nehmen und alle device_token für diesen table1.user_id, aber ohne in ausgewählten auswählen. Ich brauche eine Abfrage mit Joins. Erwartetes Ergebnis:

user_id => 4 
device_token => 7854239213 

user_id => 4 
device_token => 1232131232 
+1

Keine Notwendigkeit, auf SO zu stellen, scheint, müssen Sie nur nach etwas suchen (https://www.w3schools.com/sql/sql_join.asp) –

Antwort

0

Angenommen, Sie user_id von 1 bis 9

SELECT T1.USER_ID,T2.DEVICE_TOKEN FROM 
TABLE1 T1 INNER JOIN 
TABLE2 T2 ON T1.USER_ID=T2.USER_ID WHERE T1.USER_ID=FLOOR(RAND(1)*10) 
+0

Ich möchte nur eine ID aus Tabelle1 nicht bekommen alle von ihnen. –

+0

könnten Sie Ihre Anfrage posten? und erwartete Ausgabe? – Ravi

+0

Meine Abfrage ist die gleiche mit Ihrer Abfrage, aber das Problem ist, dass ich zufällig eine user_id von table1 und alle device_token, die zu dieser user_id –

0

Dies sollte Ihnen den Einstieg:

SELECT Table2.user_id, Table2.device_token FROM Table2 JOIN Table1 on Table1.user_id = Table2.user_id

Und wenn Sie eine bestimmte ID wollen:

SELECT Table2.user_id, Table2.device_token FROM Table2 JOIN Table1 on Table1.user_id = Table2.user_id WHERE Table2.user_id = 4

empfehle ich Ihnen diese ausgezeichnete Sitepoint Artikel lesen für eine Anfänger Einführung in MySQL verbindet:

https://www.sitepoint.com/understanding-sql-joins-mysql-database/

0

wählen device_token.table2 aus Tabelle 1, Tabelle 2, wo table1.id = table2.id und tabelle1. user_id = table2.user_id und table1.user_id = 4;

+0

Die erste user_id ist jedesmal anders, nachdem ich diesen Benutzer bearbeitet habe, lösche ich ihn und ich nehme den nächsten –