Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL-结果由多行组成_Mysql_Sql_Function - Fatal编程技术网

Mysql SQL-结果由多行组成

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

我仍在尝试创建我的第一个函数,它创建时没有任何错误,但当我尝试使用它时,它会给我错误-错误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) 
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服务器。