sql query problem when reporting(报告时出现SQL查询问题)
本文介绍了报告时出现SQL查询问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个SQL查询,它一切正常,但是我想使用一个参数(@geed)来解析‘where part’ 当我在SQL中尝试它时,它工作得很好..但是我不能让它在Crystal Report或SQL Reporting服务中工作 在此查询中..@J_Sec是一个参数,@Ged是WHERE语句的睡觉CREATE proc [dbo].[con]
@J_Sec as nvarchar(255),
@ged as varchar(max)
as
declare @sql as varchar(max)
set @sql='
select
(case when c.Age_18_24=1 then ''18-24'' when c.Age_25_29=1 then ''25-29'' when c.Age_30_39=1 then ''30-39''
when c.Age_40_Above=1 then ''40-above'' else null end)AS "Age",c.status
from consumer c
inner join dbo.Journey j on c.JOURNEY_SEQUENCE=j.JOURNEY_SEQUENCE
inner join Teams t on j.Team_id=t.Team_id where c.journey_sequence= '+@J_Sec+' and '+@ged;
exec(@sql)
go
sql
如果您的@geed参数与您的注释中所说的相同,那么为什么不放弃推荐答案字符串方法而使用:
编辑以获取额外参数
CREATE proc [dbo].[con]
@J_Sec as nvarchar(255),
@male int,
@age_18_24 int,
@student int,
@main_lmg int,
@main_Price int,
@alt_lmg int,
@alt_price int,
@source_ka INT
as
select
(case
when c.Age_18_24=1 then '18-24'
when c.Age_25_29=1 then '25-29'
when c.Age_30_39=1 then '30-39'
when c.Age_40_Above=1 then '40-above'
else null
end)
AS "Age"
, c.status
from consumer c
inner join dbo.Journey j on c.JOURNEY_SEQUENCE = j.JOURNEY_SEQUENCE
inner join Teams t on j.Team_id = t.Team_id
where
c.journey_sequence= @J_Sec
and male != @male
and Age_18_24 != @age_18_24
and Student != @student
and Main_LMG != @main_lmg
and Main_Price != @main_Price
and ALT_LMG != @alt_lmg
and ALT_Price != @alt_price
and Source_Ka != @source_ka
go
或者,您也可以尝试使用execsp_executesql。
这篇关于报告时出现SQL查询问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:报告时出现SQL查询问题
基础教程推荐
猜你喜欢
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01