热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

SQL表值函数-根据参数值从“WITH”返回某些数据

如何解决《SQL表值函数-根据参数值从“WITH”返回某些数据》经验,为你挑选了1个好方法。

我试图做一个“用”来遍历一些数据(这样做很好)。但是之后,我想返回依赖于bit参数的数据。重要的是这在函数内部。下面基本上是我的代码在做什么。

WITH StuffChain 
AS (
   //initial
    union all
   //more
)

之后,我正在尝试做类似的事情

CASE WHEN @MyParamVal = 1 THEN
      SELECT TOP (1) * FROM StuffChain
ELSE
      SELECT * FROM StuffChain
END
RETURN

SQL不是我的强项,我仍然在学习抱歉。我也不确定是否使用内联或多语句功能

编辑:当我给案件时,我用它来解释我要返回的东西,不一定是我将要使用的东西。我用它来描述我所需要的东西,只要知道的话就知道一点。



1> Tim Biegelei..:

首先,使用TOPORDER BY是没有多大意义,因为它提供了针对其选择前几行没有秩序。在这种情况下,我们可以尝试使用ROW_NUMBER控制顺序:

WITH cte AS (
    SELECT *, ROW_NUMBER() OVER (ORDER BY some_col) rn
    FROM StuffChain
)

SELECT *
FROM cte
WHERE
    (rn = @MyParamVal) OR (@MyParamVal <> 1);


推荐阅读
author-avatar
手机用户2502872597
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有