sql - 函数中的sql if语句
问题描述
我在 Visual Basic 中有一个功能,我正在将 a 和 b 变量发送到该功能中。它做了很多选择语句,如下所示:
SQL 代码
Select xxx where a=@a
union
Select yyy where u=@a
我想用 if 语句再添加一个联合。我想运行一个部分if @b=1
和另一个部分if @b=2
union
if @b=1
select zzz
if @b=2
select ttt
我想学习如何将 union 与 if 语句一起使用以及它的正确语法。
union
if @b=1
begin
select zzz
end
else if( @b=2)
select ttt
end
这是对的吗?
谢谢。
解决方案
我认为您可以将支票放在WHERE
条款中。如果它们现在失败,则会选择行,因此不会将任何行添加到整体结果中。
...
UNION
SELECT ...
WHERE @b = 1
UNION
SELECT ...
WHERE @b = 2;
推荐阅读
- php - 将月、年转换为 YYYY-MM-DD
- python - 检查列中的值是否每 7 天重复一次并进行相应过滤(熊猫)
- api - 具有从服务器到客户端的主动推送通知的 REST API
- r - 按同一列聚合一列
- c# - 如何在 Asp.NET MVC 中修复“此字典需要类型的模型项”?
- java - 如何将字符串添加到二维数组?
- c# - 如何获取 ItemsControl 中所有项目的总高度?
- primefaces - primefaces 6.1 实时滚动只允许在垂直条上滚动,但不能通过水平条滚动
- ios - IOS 的 Flutter 应用程序,是否可以在没有 Xcode 的情况下设置 IOS“旧版构建系统”?
- c# - C#如何获取系统程序集的路径