【问题标题】:select statement stored procedure in mysqlmysql中的select语句存储过程
【发布时间】:2016-05-14 11:29:54
【问题描述】:

我在数据库中有三个表:

user_tbl: userID | name | email | password
task_tbl: taskID | description | Date
usertask_tbl: userID | taskID

现在我想显示与一个用户相关的所有任务,它应该去检查该用户的 taskid 并显示该用户的所有描述和日期。但它显示了一个描述和日期。

这是我的存储过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `alltask`(IN `useremail` INT(11))
BEGIN
SELECT @userID := userID FROM user_tbl WHERE email=useremail;
SELECT @TaskID :=taskID from usertask_tbl WHERE userID = @userID;
SELECT description, Date from task_tbl WHERE taskID = @TaskID;
END

我是新手。如果这不是正确的方法,请帮助我。

【问题讨论】:

    标签: mysql select stored-procedures


    【解决方案1】:

    当你这样做时,你只选择了一项任务:

    SELECT @TaskID :=taskID from usertask_tbl WHERE userID = @userID;
    

    因此,而不是:

    SELECT @TaskID :=taskID from usertask_tbl WHERE userID = @userID;
    SELECT description, Date from task_tbl WHERE taskID = @TaskID;
    

    试试:

    SELECT description, Date from task_tbl AS t1
    INNER JOIN usertask_tbl AS t2 ON t1.taskID = t2.taskID
    WHERE userID = @userID;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 2016-04-20
      相关资源
      最近更新 更多