最近在自学sql05,就装了个08进行学习。
在Northwind数据库中,
新建一个表值函数
USE [Northwind]
GO
/****** Object: UserDefinedFunction [dbo].[fn_top_products] Script Date: 04/27/2010 09:36:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[fn_top_products]
(@supid as INT,@catid as INT,@n as INT)
RETURNs TABLE
AS
RETURN SELECT TOP(@n) WITH TIES productID,productname,unitprice
FROM dbo.Products
WHERE supplierID=@supid AND categoryID=@catid
ORDER BY unitprice DESC
使用如下cross apply语句报错SELECT s.SupplierID,
s.CompanyName,
p.productID,
p.productName,
p.UnitPrice
FROM dbo.Suppliers as s
CROSS APPLY dbo.fn_top_products(s.SupplierID,1,2)as p如果把fn_top_products(s.SupplierID,1,2)换成fn_top_products(1,1,2)就能正确查询
请大家帮忙看看啊
在Northwind数据库中,
新建一个表值函数
USE [Northwind]
GO
/****** Object: UserDefinedFunction [dbo].[fn_top_products] Script Date: 04/27/2010 09:36:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[fn_top_products]
(@supid as INT,@catid as INT,@n as INT)
RETURNs TABLE
AS
RETURN SELECT TOP(@n) WITH TIES productID,productname,unitprice
FROM dbo.Products
WHERE supplierID=@supid AND categoryID=@catid
ORDER BY unitprice DESC
使用如下cross apply语句报错SELECT s.SupplierID,
s.CompanyName,
p.productID,
p.productName,
p.UnitPrice
FROM dbo.Suppliers as s
CROSS APPLY dbo.fn_top_products(s.SupplierID,1,2)as p如果把fn_top_products(s.SupplierID,1,2)换成fn_top_products(1,1,2)就能正确查询
请大家帮忙看看啊
解决方案 »
- SQL .....
- 小问题
- 只采用SQL语言,能象raiseerror一样在客户端实现某功能完成后自动提示文本的功能吗?
- 用int类型就出错,请指教
- SQL2008的备份bak恢复到2005的sql 提示媒体簇不对 有什么办法么
- 为什么服务器升级了WIN2000补丁后,SQL SERVER 数据库就连接不上?
- 求救!怎么用ODBC在SQL SEVER中建立新表。各位高手,请帮帮忙。
- insert语句造成字段中文内容丢失,只有头一个汉字了
- 制作含500多万条数据的网站,ASP+Access可以胜任吗?
- 如何用visual basic 6.0建立自己的sql sever数据库?
- 关于将清单汇总的请教
- 新手 怎样学MYSQL
SET COMPATIBILITY_LEVEL = 90