SQL:如何把多行查询结果,作为一行返回

本文介绍了一个SQL函数UF_GetInvoiceSerials,该函数接收业务代码作为参数,并返回与该业务相关的发票号码和费用编号组成的字符串。函数通过连接多个表来获取所需数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE    FUNCTION dbo.UF_GetInvoiceSerials( @bizCode VARCHAR(10))

   RETURNS VARCHAR(100)

AS

BEGIN

   DECLARE @ret AS VARCHAR(1000)

   SELECT @ret=Coalesce(@ret + ', ','') +

         CASE e.ID

               WHEN '1' THEN c.InvoiceNo

               WHEN '2' THEN d.ExpenseNO

               ELSE 'N/A'

          END

   FROM   dbo.Business a WITH(NOLOCK)

          LEFT  JOIN dbo.Asset_Card b WITH(NOLOCK)

               ON  b.BusinessID = a.ID

          LEFT  JOIN dbo.Equipment_Card c WITH(NOLOCK)

               ON  c.Asset_CardID = b.ID

          LEFT JOIN dbo.FurnitureCard d WITH(NOLOCK)

               ON  d.Asset_CardID = b.ID

          LEFT JOIN dbo.Assert_Type e WITH(NOLOCK)

               ON  e.ID = b.Assert_TypeID

        WHERE a.BusinessCode=@bizCode

   RETURN Isnull(@ret,'N/A')

END

 

+++++++++++++++++++++++++++++++++++++++++

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值