使用案例从SQL Server中的不同表中获取值

阿伦·普拉桑斯(Arunprasanth KV)

我需要基于条件的结果,而无需使用动态SQL

就像什么时候,@param1=10我需要来自table1的所有行详细信息

否则我需要来自table2的详细信息

我已经尝试过类似下面的内容,但没有给出结果

declare @param1 int=10;
select * from 

case when @param1=10 then table1

else table2 end

注意:我知道我可以使用以下条件

if @param1=10 
select * from table1
else
select * from table2

但就我而言,查询时间很长,所以我不想再次替换所有查询

所以我希望我可以做一些事,而不必再次替换所有查询。

请帮助我解决问题

Damien_The_Unbeliever

您可以将aUNION ALL作为子查询放置,然后围绕该查询构建其余查询:

SELECT
    * --TODO - Columns
FROM
    (SELECT * FROM tableA WHERE @Param=10
     UNION ALL
     SELECT * FROM TableB WHERE @Param<>10) t
WHERE /* other conditions here */

顺便说一句-如果您有两个包含相同行类型的表,而您想在查询中交换它们,则可能表明您的数据模型已损坏-应该将其建模为属性已嵌入到您的表名称中例如,与其具有FemaleEmployeesandMaleEmployees表,不应该是Employees具有Gender的单个

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL如何从不同的表中获取值?

来自分类Dev

如何从带有主键和不带主键的SQL Server中的三个不同表中获取值?

来自分类Dev

sql使用案例更新表

来自分类Dev

sql使用案例更新表

来自分类Dev

SQL Server 从表中获取值并从同一个表中连接值

来自分类Dev

使用两个不同表的输入从一个表中获取值

来自分类Dev

从NetBeans中的SQL表获取值

来自分类Dev

从NetBeans中的SQL表获取值

来自分类Dev

在SQL上从多个表中获取值

来自分类Dev

从引用表中获取值的 SQL 查询

来自分类Dev

使用外键从表中获取值

来自分类Dev

SQL Server 2005按案例使用

来自分类Dev

在SQL Server中使用案例表达

来自分类Dev

通过一个查询从多个sql server表中获取值

来自分类Dev

如何使用Lua从表中的表获取值?

来自分类Dev

从不同的列获取值并在逗号分隔的字符串中存储在SQL Server中

来自分类Dev

SQL Server中的案例声明

来自分类Dev

SQL Server中的案例声明

来自分类Dev

使用 SQL Server 从每个表和每一列中获取不同的值

来自分类Dev

SQL中的案例陈述

来自分类Dev

使用选择查询从联接表中获取值

来自分类Dev

使用父级和子级从表中获取值

来自分类Dev

使用Sequelize.js从关联表中获取值

来自分类Dev

使用PDO从表的一列中获取值

来自分类Dev

使用 VBA 从 Excel 中的其他工作表获取值

来自分类Dev

如何从SQL Server中的两个表中获取不同的行

来自分类Dev

在 SQL Server 中使用案例时不想要 null

来自分类Dev

使用完整查询时的 SQL Server 查询案例

来自分类Dev

SQL从税表中获取不同的税率