【发布时间】:2010-09-17 05:47:41
【问题描述】:
我不断收到此错误: 结果包含多于一行
我有这个功能:
DROP FUNCTION IF EXISTS db.GetUserIDByCourseID;
CREATE FUNCTION db.`GetUserIDByCourseID`(CourseID int) RETURNS int(11)
BEGIN
SELECT (c.user_id + COALESCE(pi.user_id, 0) + COALESCE(p.user_id, 0))
INTO @user_id
FROM courses c
LEFT JOIN users u
ON u.user_id = c.user_id
LEFT JOIN partners p
ON p.partner_id = c.partner_id
LEFT JOIN partners_individual pi
ON pi.individual_id = c.individual_id;
WHERE c.course_id = CourseID;
SELECT user_type_id
INTO @user_type_id
FROM users
WHERE user_id = @user_id;
RETURN @user_type_id;
END;
【问题讨论】:
-
如果允许我进行观察,您的函数
GetUserIDByCourseID不会返回user_id,而是返回user_type_id。我认为这可能会导致调用者感到困惑。
标签: sql mysql stored-functions