我有两张桌子,我们说它们包含:
表1
id | username
1 | Bla
4 | Bla2
表2
FROM_ID | FK_TOID | Action
1 | 2 | -1
4 | 2 | -1
现在我所拥有的就是:
SELECT FK_FROMID FROM table2 WHERE FK_TOID = 2 AND FP_ACTION = -1
我想要做的是从table1中获取id和username,其中table1的id与table2中的FROM_ID匹配,其中FK_TOID是' 2'在表2中。
所以返回的结果基本上应该是
[{ id: 1, FK_FROMID: 1, username: Bla }, { id: 4, FK_FROMID: 4, username: Bla2 }]
答案 0 :(得分:1)
你需要这个:
SELECT A.id,B.from_id as FK_FROMID,A.username
FROM t1 A
LEFT JOIN t2 B
ON A.id=B.from_id
点击此链接查看结果:
的 http://sqlfiddle.com/#!2/868c1/4 强> 的
的更新:1 强> 的
SELECT A.id,B.from_id as FK_FROMID,A.username
FROM t1 A
LEFT JOIN t2 B
ON A.id=B.from_id
WHERE B.fk_toid=2 AND B.action=-1;
点击此链接:
答案 1 :(得分:0)
您应该使用内连接或左外连接(对您的示例无关紧要),如下所示:
select t1.id, t2.FK_FROMID, t1.username
from Table1 t1
join Table2 t2
on (t2.FROM_ID = t1.id)
where t2.FK_VOID = 2
and t2.FP_ACTION = -1
答案 2 :(得分:0)
试试这个:
SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.from_id
where table2.TOID = '2'
答案 3 :(得分:0)
你真的不需要为此使用任何连接。一个简单的查询将如下工作:
select t1.id, t2.FK_FROMID, t1.username
from Table1 t1, Table2 t2
where t1.id = t2.FK_FROMID
希望有所帮助!