本文介绍了在sql 2008表中选择Case语句A记录为空(例如名称),然后从b中选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果表A中的一条记录为空(例如名称),则从表B中选择该记录. 如果来自表A的记录为空的案例陈述,例如名称列出现空白,那么我可以从另一个表中选择那些值,因此需要sql中的案例陈述来进行选择查询.
DECLARE @ A TABLE (ID INT IDENTITY ( 1 , 1 ),NAME VARCHAR ( 20 )) DECLARE @ B TABLE (ID INT IDENTITY ( 1 , 1 ),NAME VARCHAR ( 20 )) 插入 INTO @ A VALUES (' 一个TEJAS') 插入 INTO @ A VALUES (' 一个JAYESH') 插入 INTO @ A 值(空) 插入 INTO @ B VALUES (' B TEJAS') 插入 INTO @ B VALUES (' B JAYESH') 插入 INTO @ B VALUES (' B KRUNAL') 选择 * FROM @ A 选择 案例 何时 A.NAME IS NULL THEN B.NAME ELSE A.NAME END AS NAME FROM @ A AS A INNER JOIN @ B AS B ON A.ID = B.ID - 输出像这样.. - 简单选择查询输出 ID NAME - --------- --------------- ----- 1 TEJAS 2 一个JAYESH 3 NULL - 选择查询输出时的情况 姓名 - ------------------ TEJAS 杰伊斯 B KRUNAL另一种方式是这样
SELECT ISNULL(A.NAME,B.NAME)由barneyman建议
If one record in Table A is null (ex. name) then select that record from Table B. Case statement for if record from table A is null e.g name column appear blank some value so i can select those from another table require Case Statement in sql for select query
解决方案 DECLARE @A TABLE (ID INT IDENTITY(1,1),NAME VARCHAR(20)) DECLARE @B TABLE (ID INT IDENTITY(1,1),NAME VARCHAR(20)) INSERT INTO @A VALUES('A TEJAS') INSERT INTO @A VALUES('A JAYESH') INSERT INTO @A VALUES(null) INSERT INTO @B VALUES('B TEJAS') INSERT INTO @B VALUES('B JAYESH') INSERT INTO @B VALUES('B KRUNAL') SELECT * FROM @A SELECT CASE WHEN A.NAME IS NULL THEN B.NAME ELSE A.NAME END AS NAME FROM @A AS A INNER JOIN @B AS B ON A.ID = B.ID --Out Put like this.. --simple select query output ID NAME ----------- -------------------- 1 A TEJAS 2 A JAYESH 3 NULL --case when select query output NAME -------------------- A TEJAS A JAYESH B KRUNALthe other way is like this
SELECT ISNULL(A.NAME,B.NAME)suggested by barneyman
更多推荐
在sql 2008表中选择Case语句A记录为空(例如名称),然后从b中选择
发布评论