我有 2 个表,假设它们包含:
表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 和用户名,其中 table1 的 id 与 table2 中的 FROM_ID 匹配,其中 table2 中的 FK_TOID 为“2”。
所以基本上返回的结果应该是这样的
[{ id: 1, FK_FROMID: 1, 用户名: Bla }, { id: 4, FK_FROMID: 4, 用户名: Bla2 }]
最佳答案
您需要这个:
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;
检查此链接:
关于MySQL从另一个表中获取数据,其中列行与第一个表中的行结果匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22952454/