如何访问SQL Server底层的机制,得到当前SELECT 的表 ?各位朋友大家好,我有这样一个问题,向大家请教,先谢谢了.
问题不好描述,所以整个过程和背景都写在下面了,请大家帮帮忙了CREATE TABLE TEST (NAME CHAR(10),COURSE CHAR(10),GOALS INT)
INSERT  TEST VALUES('张三','语文',80)INSERT TEST VALUES('张三','数学',86)INSERT TEST VALUES('张三','英语',75)INSERT TEST VALUES('李四','语文',78)INSERT TEST VALUES('李四','政治',85)INSERT TEST VALUES('李四','英语',78)----------------基本样式------------------------------
张三      语文       80
张三      数学       86
张三      英语       75
李四      语文       78
李四      政治          85
李四      英语       78SQL 语句: SELECT * FROM TEST
----------------求个人总成绩---------------------------
李四       241
张三       241SQL 语句: SELECT NAME ,SUM(GOALS) FROM TEST GROUP BY  NAME
----------------求个人所选课程--------------------------
李四       语文      政治      英语      
张三       语文      数学      英语      SQL 语句: SELECT NAME ,DBO.STRSUM(NAME) FROM TEST GROUP BY  NAMECREATE FUNCTION STRSUM( @GROUPFELD   CHAR(10))
RETURNS VARCHAR(1024)
AS
BEGIN
    DECLARE @STROUT  VARCHAR(1024)
    SELECT @STROUT = ''
    SELECT @STROUT = @STROUT + COURSE + ''
    FROM TEST
    WHERE NAME = @GROUPFELD
    RETURN @STROUT
END
DROP FUNCTION STRSUM
--------------------------------------------------------------
问题是:能不能像系统提供的SUM()函数一样,在写STRSUM()函数的时候,不用在里面写
表  TEST  和字段 NAME ,并且穿三熟的时候就传 COURSE 呢?
我想在SQL Server应该有这样一个机制,记录了,FROM 后面的表 ,于是在SUM()的时候,系统
自己就知道是对哪个表哪个列SUM(),那么请问,我要怎么样才能访问到这个记录呢?
怎么样才能让这里的 STRSUM() 函数不在内部直接写  当前的表和列呢,从而使函数彻底的
具有任意表的共用性?