我想实现以下将根据A的值查出的B赋给C,当A为空时将空赋给C,怎么实现呢?

例如有个表TABLE  
A B  
1 a
2 b 
case when A IS NULL then C='' else C=B end)as C 对吗?
其实我的题目是这样的,共有两个表,
TABLE1 TABLE2
A B C D
1 a 1 x
当查询到table1.A=TABLE2.C时选出TABLE2.D  
当TABLE1.A的值为空时就TABLE2.D也为空

大话西游666
浏览 86回答 3
3回答

慕容3067478

不知道你具体什么数据库,,给出sqlserver,你上面写的就对了,给你写出详细的测试记录吧CREATE TABLE test(a INT,b VARCHAR(10))INSERT INTO dbo.test        ( a, b )SELECT 1,'a'UNION ALLSELECT 2,'b'UNION ALLSELECT null,'c'---这里加了一条数据,便于你看出结果 SELECT a,b,c=(CASE WHEN ISNULL(a,'')='' THEN null ELSE b END)--注个人喜欢用isnull()函数FROM test结果:1 a a2 b bNULL c null

互换的青春

可以CASE WHEN A IS NULL THEN '' ELSE B END C

慕妹3242003

select case when A is null then null else B end as C from table
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server