当前位置:  开发笔记 > 数据库 > 正文

通过SQL返回硬编码值的不同方法

如何解决《通过SQL返回硬编码值的不同方法》经验,为你挑选了2个好方法。

我有一些在我的选择查询中硬编码的数据.

SQL如下:

SELECT 
'ZZ0027674',
'ZZ0027704',
'ZZ0027707',
'ZZ0027709',
'ZZ0027729',
'ZZ0027742',
'ZZ0027750'

不幸的是,它不显示数据.它只返回7列,每列都有每个值.我只想要一个具有不同值的列.

请提供不同的解决方案来显示数据?



1> Lukasz Szozd..:

您可以使用VALUES,也就是表值构造函数,子句用于硬编码值:

SELECT *
FROM (VALUES('ZZ0027674'),('ZZ0027704'),('ZZ0027707'),
            ('ZZ0027709'),('ZZ0027729'),('ZZ0027742'),
             ('ZZ0027750')
     ) AS sub(c)

LiveDemo

警告:此限制最多为1000行并适用于SQL Server 2008+.对于较低版本,您可以使用UNION ALL.

编辑:

如果有人可以给我开关,可以加分吗?

SELECT col
FROM (SELECT 'ZZ0027674','ZZ0027704','ZZ0027707',
             'ZZ0027709','ZZ0027729','ZZ0027742','ZZ0027750'
     ) AS sub(v1,v2,v3,v4,v5,v6,v7)
UNPIVOT
(
   col for c in (v1,v2,v3,v4,v5,v6,v7)
) AS unpv;

LiveDemo2



2> Mark PM..:

使用联合:

  SELECT 
'ZZ0027674' union all
SELECT 'ZZ0027704' union all
SELECT 'ZZ0027707' union all
SELECT 'ZZ0027709' union all
SELECT 'ZZ0027729' union all
SELECT 'ZZ0027742' union all
SELECT 'ZZ0027750'

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有