2017-03-18 4 views
-2

Ich habe zwei Tabellen:MySql Reihen, wo eine Spalte an einem anderen colum in einer anderen Tabelle entspricht, wo eine Spalte gleich

tbl_post und tbl_public

tbl_post:

id | post_id | author | date (unix time) 
-------------------------------- 
0 | 123456 | User 1 | 1489857236 
1 | 123457 | User 2 | 1489857237 
2 | 123458 | User 3 | 1489857238 

tbl_public:

id | post_id | public | date (unix time) 
    ----------------------------------------- 
--> 0 | 123456 | 0  | 1489857236 
    1 | 123457 | 1  | 
    2 | 123458 | 0  | 
--> 3 | 123456 | 1  | 1489857239 

ich möchte alle Zeilen erhalten, wo Benutzer = "Benutzer 1" und die neueste (Reihenfolge von da te) öffentliche Spalte in der Tabelle tbl_public ist größer als 0 nach Datum sortieren DESC

Können Sie mir bitte mit dem Abfragebefehl helfen? :)

+0

denen relatation ist zwischen tbl_post und tbl_public ?? – scaisEdge

+0

Hinweis: 'INNER JOIN'. –

Antwort

0

Sie können dies tun, indem INNER JOIN hier mit der sintax Gebrüll:

SELECT column_name(s) 
 
FROM table1 
 
INNER JOIN table2 
 
ON table1.column_name=table2.column_name;

0

Sie bitte Ihre Bedürfnisse kurz erarbeiten, obwohl ich versuchte, was ich von verstehe Ihre Frage. Lass es mich wissen, wenn es für dich funktioniert.

Sql: SELECT tp.post_id, tp.author, tpb.public, tpb.date FROM tbl_post tp LEFT JOIN tbl_public tpb ON (tp.post_id = tpb.post_id) WHERE tp.author = 'User 1' ORDER BY tpb.date DESC;

0

Select * from tbl_post 'a' innere Verknüpfung tbl_public 'b' auf a.post_id = b.post_id wo author = 'User 1' und öffentlich> 0

+0

Ich muss die Spalte public aus der neusten Tabelle tbl_public holen (ordered by date desc) – pfMusk

Verwandte Themen