我的查询有什么问题

编程入门 行业动态 更新时间:2024-10-25 18:35:47
本文介绍了我的查询有什么问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

declare @vc_supplier_name varchar(200) ='' declare @in_supplier_type_id int =2 declare @bt_active bit =1 SELECT a.in_supplier_id, dbo.format_fnc_bit(1, a.bt_active) AS vc_active, b.vc_supplier_type_name, a.in_supplier_type_id, a.vc_supplier_name, dbo.admin_user_fnc_get_name(1, a.in_updatedby_user_id) AS vc_updated_by, a.dt_updated FROM dbo.supplier a INNER JOIN dbomon_data_vw_supplier_type b ON a.in_supplier_type_id = b.in_supplier_type_id WHERE a.in_supplier_type_id = @in_supplier_type_id AND a.vc_supplier_name LIKE '%' + @vc_supplier_name + '%' AND a.bt_active = case @in_supplier_type_id when 2 THEN @bt_active ORDER BY a.vc_supplier_name

出现错误:关键字''ORDER''附近的语法不正确。 这里我想使用bt_active只有@in_supplier_type_id = 2

Error comes :Incorrect syntax near the keyword ''ORDER''. here i want to use bt_active only if @in_supplier_type_id=2

推荐答案

引用:

案例@in_supplier_type_id当2那么@bt_active

case @in_supplier_type_id when 2 THEN @bt_active

你在这里错过了结尾 END (:-))。

您需要在案例陈述的末尾添加结束。 这个: You need to add an "End" to the end of your case statement. This: AND a.bt_active = case @in_supplier_type_id when 2 THEN @bt_active

应该是这样的:

should be this:

AND a.bt_active = case @in_supplier_type_id when 2 THEN @bt_active End

如果需要,你也可以使用Else。

You can also use an Else if need be.

更多推荐

我的查询有什么问题

本文发布于:2023-10-22 22:58:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1518983.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:有什么

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!