可能是简单的事情,但是,假设我有这些:
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
我只需要返回表A和表B之间的公共行(这将是:
id_a name type id_user id_b id_user2 1 a car 1 1
我已经尝试了INNER JOIN
,但是当来自B的id_user
来自A = id_user
时,它会返回给我。我使用了这种语法:
SELECT *
FROM B
INNER JOIN A ON A.id_user = B.id_user;
希望我已经说清楚了,非常感谢你。
答案 0 :(得分:0)
您正在追求的是:"向我显示A和B中共享相同id_user"
的所有行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