[SQL ] JOIN的CASE问题

楼主: bulmungtw (Lance)   2014-06-10 17:23:53
(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称:MSSQL
数据库版本:10.50.2500
内容/问题描述:
http://i.imgur.com/ScDmy9z.png
又来问问题了 艸
这次是个JOIN的问题,想将右边的TABLE B LEFT JOIN给左边的A
产生下面的结果
但因为A的Acolumn2有空白的,这样怎么ON好像都不太对…
以下是测试过的两个错误结果
原本想说看用isnull可不可以让原本空白的地方先有资料 不过乱弄一下看起来不能这样
作者: konkonchou (卡卡猫)   2014-06-10 21:24:00
on A.A1=B.B1 and isnull(A2, A1)=B2
作者: scpisces (失败的勇气。)   2014-06-10 21:42:00
case要这样下(case when A.Acolumn2 ='' then A.Acolumn1else A.Acolumn2 end)=B.Bcolumn2on后面上述语法isnull(A.Acolumn2 ,A.Acolumn1) 这样下是没用的值是空白,不是NULL
楼主: bulmungtw (Lance)   2014-06-11 08:56:00
待会来改看看 感谢两位!!

Links booklink

Contact Us: admin [ a t ] ucptt.com