2016-12-16 28 views
1

可能是簡單的東西,但是,讓我們說我有這些:如何在MySQL上只獲得2個表的常見行?

Table User (id_user, name) 
Table A (id_a, name, type, #id_user) 

然後,我還有一個只具有其自身的ID和其他外國鍵

Table B (id_b, #id_user1, #id_user2, #id_a, #id_Something) 

所以,我需要一個查詢只返回表A和表B的行與他們共同的行。我試過INNER JOIN但它返回表A的所有行從那裏id_user等於從表B.像id_user,如果我有這些:

表用戶:

 
id_user name 
1   Hey 

表A :

 
id_a name type id_user 
1  a  car 1 
2  b  cat 1 

表B:

 
id_b id_user id_user2   id_a id_Something 
1  1   Doesn't matter 1  Doesn't matter 

我需要回到只有常見[R流量表A和表B之間(那會是這樣的:

 
id_a name type id_user id_b id_user2 
1  a  car 1   1 

我試過INNER JOIN但它返回給我的一切,當從A id_user = id_user從B.我用這個語法:

SELECT  * 
FROM  B 
INNER JOIN A ON A.id_user = B.id_user; 

希望我已經說清楚了,非常感謝。

+0

不,你還沒有做出明確自己。首先,表A和表B甚至沒有相同的結構,那麼他們怎麼能有一個共同的排? –

+0

即時通訊對不起 - 我不清楚... – Randy

+0

您想要顯示哪些字段... – Devansh

回答

0

是你以後打算什麼:「給我都在一個共享相同id_user行和B」

SELECT User.id_user, User.name, a.id_a, b.id_b 
FROM User 
INNER JOIN A ON a.id_user = User.id_user 
INNER JOIN B on b.id_user = User.id_user 
相關問題