SQL:如何把多行查询结果,作为一行返回
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
+++++++++++++++++++++++++++++++++++++++++
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那 ......
session状态:
STATUS VARCHAR2(8) Status of the session:
ACTIVE - Session currently executing SQL
INACTIVE - sql及其session没有释放或正常退出......
KILLED - Session marked to be killed
CACHED - Session temporarily cached for use by Oracle*XA
SNIPED - Session inactive, waiting on the clie ......
第一点:
使用视图,可以定制用户数据,聚焦特定的数据。
解释:
在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,
采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没
有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视
图,以后他在查询数据时,只需se ......
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1 ......