Mysql SQL-结果由多行组成
我仍在尝试创建我的第一个函数,它创建时没有任何错误,但当我尝试使用它时,它会给我错误-错误1172(42000):结果由多行组成 这是函数-Mysql SQL-结果由多行组成,mysql,sql,function,Mysql,Sql,Function,我仍在尝试创建我的第一个函数,它创建时没有任何错误,但当我尝试使用它时,它会给我错误-错误1172(42000):结果由多行组成 这是函数- CREATE FUNCTION kontakti2 (mainigais CHAR(3)) RETURNS CHAR(100) BEGIN DECLARE returnthis CHAR(100); SELECT CONCAT(Person.name, Person.lastName, Contacts.mobile, Contacts.email
CREATE FUNCTION kontakti2 (mainigais CHAR(3))
RETURNS CHAR(100)
BEGIN
DECLARE returnthis CHAR(100);
SELECT CONCAT(Person.name, Person.lastName, Contacts.mobile, Contacts.email)
FROM Person JOIN Contacts on Contacts.Person_ID = Person.ID
JOIN ParentChild on ParentChild.parentID = Person.ID
JOIN ChildGroup ON ChildGroup.Person_ID = ParentChild.childID
WHERE ChildGroup.Group_ID = mainigais INTO returnthis;
RETURN returnthis;
END//
这是表模式,以防万一-
如何使此函数显示多行 MySQL中的函数不可能返回多行,因为它不支持SQL server中的表值函数。您希望使用存储过程,而不是函数。仔细阅读差异。你只需对整个组进行筛选,因此可能会有多行。由于此函数只返回1个字符(100),您应该只返回1行(即1个用户)。@fancyPants不能,这是家庭作业,我需要函数。您当前的函数似乎正在尝试返回组中每个人的联系人详细信息。这就是计划吗?目前,每个人只能得到一个结果行,而不是一个
char(100)
。SQL Server支持表值函数(即多行)。不确定MySql是否会这样做。@JonEgerton是的,这就是我要做的。我很确定这是MySql服务器。