无法通过连接访问关系的MySQL查询
我有以下MySQL表:无法通过连接访问关系的MySQL查询,mysql,sql,join,left-join,inner-join,Mysql,Sql,Join,Left Join,Inner Join,我有以下MySQL表: +--------------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+----------+------+-----+---------+----------------+ | id
+--------------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| firstName | longtext | NO | | NULL | |
| lastName | longtext | NO | | NULL | |
| username | longtext | NO | | NULL | |
+--------------------+----------+------+-----+---------+----------------+
以及:
我有两个条件。我在第二个表中有一个开始日期和结束日期,我想要从一个特定的用户那里得到数据,我只需要通过第一个表的用户名来验证。看起来是这样的:username is known>我将获取用户的id外键>现在我可以使用这个外键从第二个表中获取特定于用户的数据。我开始我的MySQL查询,它看起来像这样:
SELECT date, duration, educationDepartment, completedtasks FROM programm_completedtask WHERE date BETWEEN "2014-04-07" AND "2014-04-11";
但是,我现在如何使其特定于用户?重要提示:我只想要一个MySQL查询、php或类似的东西对我没有帮助://p>类似的东西
挑选
表2.1用户名,
表1.1日期,
表1.1持续时间,
表1.教育部,
表1.1完成的任务
来自表1
表2.id=表1.trainer\u id上的左连接表2
哪里
表1.2014-04-07和2014-04-11之间的日期和
表1.username='someuser' 像这样的
挑选
表2.1用户名,
表1.1日期,
表1.1持续时间,
表1.教育部,
表1.1完成的任务
来自表1
表2.id=表1.trainer\u id上的左连接表2
哪里
表1.2014-04-07和2014-04-11之间的日期和
表1.username='someuser' 像这样的
挑选
表2.1用户名,
表1.1日期,
表1.1持续时间,
表1.教育部,
表1.1完成的任务
来自表1
表2.id=表1.trainer\u id上的左连接表2
哪里
表1.2014-04-07和2014-04-11之间的日期和
表1.username='someuser' 像这样的
挑选
表2.1用户名,
表1.1日期,
表1.1持续时间,
表1.教育部,
表1.1完成的任务
来自表1
表2.id=表1.trainer\u id上的左连接表2
哪里
表1.2014-04-07和2014-04-11之间的日期和
表1.username='someuser' 这将结果限制为一个特定用户:
SELECT date, duration, educationDepartment, completedtasks
FROM programm_completedtask
WHERE date BETWEEN '2014-04-07' AND '2014-04-11'
AND trainee_id = (select id from users where username = 'XYZ');
这将结果限制为一个特定用户:
SELECT date, duration, educationDepartment, completedtasks
FROM programm_completedtask
WHERE date BETWEEN '2014-04-07' AND '2014-04-11'
AND trainee_id = (select id from users where username = 'XYZ');
这将结果限制为一个特定用户:
SELECT date, duration, educationDepartment, completedtasks
FROM programm_completedtask
WHERE date BETWEEN '2014-04-07' AND '2014-04-11'
AND trainee_id = (select id from users where username = 'XYZ');
这将结果限制为一个特定用户:
SELECT date, duration, educationDepartment, completedtasks
FROM programm_completedtask
WHERE date BETWEEN '2014-04-07' AND '2014-04-11'
AND trainee_id = (select id from users where username = 'XYZ');
如果要从两个表中获得结果,应使用内部联接:
如果要从两个表中获得结果,应使用内部联接:
如果要从两个表中获得结果,应使用内部联接:
如果要从两个表中获得结果,应使用内部联接:
成功了!我几乎完全尝试了您所做的xP我只是没有在第二个select语句之前和之后设置:DThat worked!我几乎完全尝试了您所做的xP我只是没有在第二个select语句之前和之后设置:DThat worked!我几乎完全尝试了您所做的xP我只是没有在第二个select语句之前和之后设置:DThat worked!我几乎完全尝试了你所做的xP我只是没有在第二个select语句之前和之后设置:D