如何在变量SQL服务器中存储固定行值
发布时间:2020-05-24 09:19:28 所属栏目:MsSql 来源:互联网
导读:我有一个表,最多可以有5行,最少1行.现在我需要将这些行存储在不同的变量中,如@ v1,@ v2,@ v3,@ v4,@ v5.我该怎么做? 该表只有1列custid. CustId100200300400 如果表只包含1行,那么@ v1应该具有该值,而rest可以为null. 您可以使用以下查询: SELECT @v1 = MAX
|
我有一个表,最多可以有5行,最少1行.现在我需要将这些行存储在不同的变量中,如@ v1,@ v2,@ v3,@ v4,@ v5.我该怎么做? 该表只有1列custid. CustId 100 200 300 400 如果表只包含1行,那么@ v1应该具有该值,而rest可以为null. 解决方法您可以使用以下查询:SELECT @v1 = MAX(CASE WHEN rn = 1 THEN CustId END),@v2 = MAX(CASE WHEN rn = 2 THEN CustId END),@v3 = MAX(CASE WHEN rn = 3 THEN CustId END),@v4 = MAX(CASE WHEN rn = 4 THEN CustId END),@v5 = MAX(CASE WHEN rn = 5 THEN CustId END) FROM ( SELECT CustId,ROW_NUMBER() OVER (ORDER BY CustId) AS rn FROM mytable ) t 使用ROW_NUMBER为表的每条记录分配一个不同的数字.然后,在外部查询中使用条件聚合,您可以使用此数字来设置每个单独的变量. 如果少于5行,则相应的变量将设置为NULL. SQL Fiddle Demo (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 跨同一服务器上的多个数据库进行查询
- 数据库设计 – 是否应该为Web应用程序上的每个用户创建一个
- sql-server – 我可以在SQL Server中选择0列吗?
- sql-server-2008 – 如何将值从动态SQL存储过程返回到实体框
- 解析sql语句中left
- 如果我切换到原始SQL查询,我的Rails查询开始变得复杂?你是
- sql – 在postgres中分离从函数返回的记录
- windows mysql 自动备份的几种方法汇总
- sql 左连接和右连接的使用技巧(left join and right join)
- SQL Server Management Studio中“go”附近的语法不正确
