繁体   English   中英

SQL - 使用的select语句具有不同数量的列

[英]SQL - The used select statement have a different number of colums

我正在尝试创建我的第一个函数,它创建没有任何错误,但是,当我尝试使用它时,它给了我错误。

这是功能 -

    CREATE FUNCTION isie_kontakti (condition CHAR(3)) 
    RETURNS CHAR(100) 
    BEGIN 
    DECLARE returnthis CHAR(100); 
    SELECT DISTINCT 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 = 'condition' INTO returnthis; 
    RETURN returnthis; 
    END//

表模式 - http://www.imagesup.net/dm-713886347846.png

您创建函数以返回char(100)类型的单个列,但returnthis项包含相当多的列。

您需要匹配您的查询和返回类型。

你如何做到这一点取决于你想要达到的目标。 它可能就像将select的列连接成一个变量一样简单,这是一种类似的行(未经测试,因为我目前没有DBMS可用):

SELECT Person.name     | ' '
     | Person.lastName | ' '
     | Contacts.mobile | ' '
     | Contacts.email
  FROM ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM