能否在from 之后加 case when 语句?
实现如下需求
如果table1的col1字段 值为 1,从test1表中取数据
如果table1的col1字段 值为 2,从test2表中取数据
如果table1的col1字段 值为 1,从test1表中取数据
如果table1的col1字段 值为 2,从test2表中取数据
create table test1
(
col int
);
insert test1 (col) values(10);
create table test2
(
col int
);
insert test2 (col) values(20);
create table table1
(
col1 int,
col2 int,
col3 int,
col int
);
insert table1 (col1) values(1);
--如果table1的col1字段 值为 1,从test1表中取数据
--如果table1的col1字段 值为 2,从test2表中取数据
declare @tempid int
select @tempid = col1
from table1
-- 下面代码无法使用
-- select * from (case when @tempid = 1 then test1 else test2 end)
...全文
相关推荐
详细解析 mysql 中的 case when 语句的使用
**基本语法**: - CASE语句有两种形式: - 简单CASE表达式: ```sql CASE value WHEN [compare-value] THEN result [WHEN [compare-value
MySQL中使用case when 语句实现多条件查询的方法
FROM DemoTable) + (SELECT CASE 1 WHEN condition2满足条件 THEN 1 ELSE 0 END FROM DemoTable) + (SELECT CASE
oracle case when 语句的用法详解
Oracle的CASE WHEN语句是SQL语言中的一个强大工具,用于根据特定条件返回不同的值或执行不同的操作。本文将详细介绍CASE WHEN表达式的两种形式、在不同语句结构中的使用方法以及IF-T
MySQL的CASE WHEN语句的几个使用实例
MySQL的CASE WHEN语句是一种非常强大的条件控制工具,它允许你在SQL查询中实现复杂的逻辑判断。CASE WHEN语句常用于数据转换、分类或者基于特定条件返回不同的值。
oracle where case when where后面跟case when
假设我们有一个`employees`表,包含`salary`列,我们想找出薪资超过平均薪资的员工:```sqlSELECT * FROM employeesWHERE salary > (CASE WHEN


