问个查询的问题
create procedure udsp_SelectOperationEnterprise
@AreaName nvarchar(16)
as
declare @AreaIndex smallint
set @AreaIndex=isnull(@AreaName,null)
if (@AreaIndex<>null)
set @AreaIndex=isnull((select oeaf_Index from udfdt_OperationEnterpriseArea where oeaf_Name=@AreaName),0)
declare @SelectStatement nvarchar(4000)
set @SelectStatement='select (select oeaf_Name from udfdt_OperationEnterpriseArea where oeaf_Index='+convert(nvarchar(10),@AreaIndex)+') 隶属地区
from udsdt_OperationEnterprise where oef_AreaIndex='+isnull(convert(nvarchar(10),@AreaIndex),'oef_AreaIndex')
execute(@SelectStatement)
这个是我的存储过程,其中操作的有两个表,是主细表的关系。其中udfdt_OperationEnterpriseArea是主表,表示业务单位的归属地。udsdt_OperationEnterprise是细表,表示业务单位的其他内容。也就是说细表中有一个字段放着的是主表中oeaf_Index字段的值。
现在有一个界面,其中有一个下拉框,下拉后显示的内容是主表中与oeaf_Index字段对应的oeaf_Name名称内容。我现在要根据这个条件来让客户做查询
现在情况分为如下类别
一、客户没有选择任何东西,下拉框内容是空的。这个时候执行存储过程的时候会因为@AreaName为空将@AreaIndex也设置为空,最后查询条件形成恒等式。可以查出所有内容。
二、如果客户选择或填写了,这个时候因为@AreaName不为空,所以@AreaIndex要么为0要么为其他实际存在的值。达到实际查询的目的。
各位帮忙看看这个存储过程可以实现这个功能吗?
@AreaName nvarchar(16)
as
declare @AreaIndex smallint
set @AreaIndex=isnull(@AreaName,null)
if (@AreaIndex<>null)
set @AreaIndex=isnull((select oeaf_Index from udfdt_OperationEnterpriseArea where oeaf_Name=@AreaName),0)
declare @SelectStatement nvarchar(4000)
set @SelectStatement='select (select oeaf_Name from udfdt_OperationEnterpriseArea where oeaf_Index='+convert(nvarchar(10),@AreaIndex)+') 隶属地区
from udsdt_OperationEnterprise where oef_AreaIndex='+isnull(convert(nvarchar(10),@AreaIndex),'oef_AreaIndex')
execute(@SelectStatement)
这个是我的存储过程,其中操作的有两个表,是主细表的关系。其中udfdt_OperationEnterpriseArea是主表,表示业务单位的归属地。udsdt_OperationEnterprise是细表,表示业务单位的其他内容。也就是说细表中有一个字段放着的是主表中oeaf_Index字段的值。
现在有一个界面,其中有一个下拉框,下拉后显示的内容是主表中与oeaf_Index字段对应的oeaf_Name名称内容。我现在要根据这个条件来让客户做查询
现在情况分为如下类别
一、客户没有选择任何东西,下拉框内容是空的。这个时候执行存储过程的时候会因为@AreaName为空将@AreaIndex也设置为空,最后查询条件形成恒等式。可以查出所有内容。
二、如果客户选择或填写了,这个时候因为@AreaName不为空,所以@AreaIndex要么为0要么为其他实际存在的值。达到实际查询的目的。
各位帮忙看看这个存储过程可以实现这个功能吗?
...全文
相关推荐
昨天参加平安面试问了我一个问题:说说MySQL 执行一条查询语句的内部执行流程?
优化器的选择尤其重要,因为正确的索引和执行计划可以显著提升查询性能。同时,理解连接器和查询缓存的作用有助于解决登录问题和性能优化。
ORACLE常用傻瓜问题1000问全集
文件全称《ORACLE常用傻瓜问题1000问全集(1-971).chm》,标题为1000问,只收集到971。 整理后的格式采用Chm,主要是为了方便查询、搜索。
首问责任制度.doc
首问责任制度的实行同样强调了记录和追踪的重要性。首问责任人需要做好相关的书面记录,以便后续对问题的查询和追踪,这也保证了服务流程的透明度和客户的权益。
ORACLE常用问题1000问.rar
《ORACLE常用问题1000问》不仅是一份面向数据库管理员、开发人员及学习者的重要参考资料,还是一份珍贵的知识传承,它将实践中遇到的大量问题和解决方案系统性地汇编在一起,以供用户查询与学习。
智能问数与数据分析[可运行源码]
在讨论智能问数技术时,文章对传统商业智能(BI)工具的不足进行了深入剖析,例如技术门槛高、操作复杂等问题。


