在sql 2008表中选择Case语句A记录为空(例如名称),然后从b中选择 [英] Select Case Statement in sql 2008 Table A record is null (ex. name) then select from b

查看:88
本文介绍了在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  VARCHAR (插入  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   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 KRUNAL



the other way is like this

SELECT ISNULL(A.NAME,B.NAME)


suggested by barneyman


这篇关于在sql 2008表中选择Case语句A记录为空(例如名称),然后从b中选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆