我是一名jQuery开发人员,我不知道如何从表中检索数据。我只是想学习它。
我有一个特殊情况需要处理。考虑三个表
tb1
-----------------------------------------------
pid fname lname cid eid
12 jo mo 16345 2345
13 ko ro 16324 2435
tb2
-----------------------------------------------
cid cname
16345 amazed
16324 bored
tb3
------------------------------------------------
eid ename
2345 nolo
21345 johny
我想检索匹配的pid值的数据。说,
select * from tb1 where pid = 12
它返回pid, fname, lname, cid, eid
cid
值是16345,而不是数字。我希望cid
值与tb2
匹配,并获取amazed
的cname列值,并与eid
的{{1}}相同希望这些数字与tb2和tb3匹配,并获得它们的字符串值。
我可以使用3个MySQL查询来实现它
这就是我尝试过的
ename : nolo
但我觉得代码并不理想。我想必须有一种方法可以在单个查询中检索,但我不确定它必须是什么。也许加入或子查询。
答案 0 :(得分:1)
在3张桌子上使用连接
SELECT tb1.*, tb2.cname, tb3.ename from tb1
JOIN tb2 ON tb1.cid = tb2.cid
JOIN tb3 ON tb1.eid = tb3.eid
WHERE tb1.pid = 12
希望这有帮助
答案 1 :(得分:1)
试试这个:
SELECT *.t1, t2.cname, t3.ename from tb1 as t1
JOIN tb2 as t2 ON t1.cid = t2.cid
JOIN tb3 as t3 ON t1.eid = t3.eid
WHERE t1.pid = 12