我有三个这样的表:
专业化
sid | s_name
--------------
1 | test 1
2 | test 2
Person
pid | name | sid
------------------
1 | ABC | 1
2 | XYZ | 2
Timing
tid | time_from | time_to | pid
----------------------------------
1 | 08:00:00 | 10:00:00 | 1
2 | 20:00:00 | 22:00:00 | 1
3 | 09:00:00 | 14:00:00 | 2
4 | 19:00:00 | 20:00:00 | 2
**我想要得到这样的结果*
pid | name | s_name | time_from | time_to
--------------------------------------------
1 | ABC | test 1 | 08:00:00 | 10:00:00
描述:
所有三个表都是相连的。
我想要所有记录
专业化id = '1'
person name Like 'ABC'
timing位于“08:00:00”和“10:00:00”之间。
我尝试了几种 mysql 连接的组合,但无法正确获取数据。
您可以使用INNER JOIN
为了这,
SELECT a.pid, a.name,
b.sname,
c.time_from,
c.time_to
FROM person a
INNER JOIN specialisation b
ON a.sid = b.sid
INNER JOIN Timing c
ON a.pid = c.pid
WHERE a.sid = 1 and
a.name='ABC' AND
c.time_from >= '08:00:00' AND c.time_to <= '10:00:00'
- SQLFiddle 演示 http://sqlfiddle.com/#!2/3ea7e/4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)