在sql 2008表中选择Case语句A记录为空(例如名称),然后从b中选择 [英] Select Case Statement in sql 2008 Table A record is null (ex. name) then select from b
本文介绍了在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屋!
查看全文