我有返回的选择查询 ID,名称,说明,价格
我正在尝试获取ID,根据条件单独定价,它应该显示名称,说明
const books = {
1: {
id: 1,
name: 'Harry Potter Series',
},
谢谢
答案 0 :(得分:0)
@show =1
if @show = 1
begin
select id, name, description, price from tbl
end
else begin
select id, price from tbl
end
答案 1 :(得分:0)
您可以连接所需的列并执行查询。
DECLARE @filter AS Integer
DECLARE @columns AS nvarchar(50)
DECLARE @sql AS nvarchar(50)
Set @filter = 1
if @filter = 0
begin
Set @columns = 'id, name, description, price'
end
else begin
Set @columns = 'id, name'
end
set @sql = 'select ' + @columns + ' from tbl'
EXECUTE sp_executesql @sql
print @sql
答案 2 :(得分:0)
基于您的comment
我将show参数设置为0或1,如果0只需要选择id,价格则要通过1来选择所有4列
CREATE PROCEDURE MyProc
@Show BIT = 1 --i pass show parameter as 0 or 1 That means BIT Datatype(True/False)
AS
IF @Show = 0
SELECT ID, Price --if 0 only have to select id , price
FROM Table
ELSE
SELECT * --if i pass 1 it select all 4 column
FROM Table
答案 3 :(得分:0)
您的所有回答对我都有很大帮助,谢谢。 最后我去了这个方法在字符串concat上工作 字段是ID,名称,描述,价格
声明@id int;
声明@sqlcommand nvarchar(max);
声明@visible int;
设置@sqlcommand ='select id,'+ case @visible = 1时然后是'name,description'else'end +',tbl价格
其中id = @id'
执行sp_executesql @sqlCommand,N'@ id int',@ id = @ id
如果我通过可见= 1 结果将是 ID名称降序价格
可见= 0 身份证价格
谢谢