首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在带有参数的子查询中使用sql函数

在带有参数的子查询中使用sql函数
EN

Stack Overflow用户
提问于 2013-05-13 20:47:06
回答 1查看 2.9K关注 0票数 0

我有以下有效的查询:

代码语言:javascript
运行
复制
SELECT 
  STUFF
  (
    (
      SELECT
        ', ' + RTRIM(LTRIM(ulastname))
      FROM 
        ROOM r LEFT JOIN person p ON p.hmy = r.hmyperson
      WHERE 1=1 
        AND r.hmytenant = t.hmyperson
      FOR XML PATH('')
    )
  , 1 
  , 2 
  , ''
  )
FROM unit u
  LEFT JOIN tenant t ON u.hproperty = t.hproperty
WHERE 1=1
  AND t.hmyperson = 71
  AND u.hmy = 19

但是,我需要做的是在最里面的select语句中使用一个函数来返回正确的值。我已经编写了如下查询:

代码语言:javascript
运行
复制
SELECT 
  STUFF
  (
    (
      SELECT 
        ', ' + RTRIM(LTRIM(fullname))
      FROM 
        SMS_All_Occupants(u.hmy, 'Y', t.hmyperson) occ
      WHERE 1=1 
        AND TYPE = 'T' 
        AND LESSEE = 'Y'
      ORDER BY 
        occ.relation asc
      FOR XML PATH('')
    )
  , 1 
  , 2 
  , ''
  )
FROM unit u
  LEFT JOIN tenant t ON u.hproperty = t.hproperty
WHERE 1=1
  AND t.hmyperson = 71
  AND u.hmy = 19

此查询总是失败,并显示“‘.’附近的语法不正确”,这似乎与传递给函数的u.hmy和t.hmyperson有关。如果我为每个参数输入一个实际值,它就会正常工作。

谁能告诉我我哪里做错了?我看过使用交叉连接的引用,但我不知道如何使用它。

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-13 22:04:48

DB兼容级别仍然是"80“吗?如果是这样,则不能将列用作UDF参数

更多信息请点击这里:"Incorrect syntax" using a table-valued function in SELECT clause of T-SQL query

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16522447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档