sql - 如何在sql server 2008 R2中使用IF条件进行列选择

标签 sql select sql-server-2008-r2

在我的项目中,我希望以两种不同的方式从同一个表中获取数据。 1)只有5个字段 2)只有10个字段 我通过每个存储过程获取数据。但我希望如果可能的话我应该做一个程序。

So, can I put if condition for selecting column?

例如,如果我传递参数为“Less”,它将仅获取 5 列的数据,如果我传递参数为“More”,它将获取10列数据。我可以在基于条件的过程中有两个 SELECT 语句(我已经完成了),但我想将其设为一个 SELECT 语句。是否可以?

最佳答案

不,是不是不可能只有一个 SELECT 语句。

但是,你可以这样做:

if @ColumnList = 'less'
begin
    call storedProc_returning5Columns
end
else
begin
    call storedProc_returning10Columns
end

[另一个选项是使用动态 TSQL]

关于sql - 如何在sql server 2008 R2中使用IF条件进行列选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829772/

相关文章:

php - 从不同的 mysql 数据库表中选择

sql - Select count(*)是否不返回SQLite中结果为0的行?

sql-server - 列前缀 '%s' 与查询中使用的表名或别名不匹配

performance - SQL 插入 100 万行时速度慢

vb.net - 无法启用约束。一行或多行包含违反非空、唯一或外键约束的值。 VB.Net 中的错误

php - 三表多选

mysql - 适用于大规模数据集的 SQL

sql - 删除重复的 SQL 记录

sql - 如何以 ssms 为单位显示执行时间(以毫秒为单位)?

sql - 选择所有至少具有带通​​配符支持功能的列表的行