日期:2014-05-17  浏览次数:20460 次

问一个简单的基础的问题哈
在R表和C表中,有两个共同的字段:Per、Month,在R表中又有如下字段:Code、name
要求:如果Code = 1,那么需要当R.Per = C.Per时为条件,但是当Code = 2时,需要当R.Month = C.Month为条件,下面是我写的,但是有错误:

 Select R.name where case when R.Code = 1 then R.Per = C.Per
                          when R.Code = 2 then R.Month = C.Month

但是出错了,在“=”处有错误,请问怎么改正?
注意:是当R.Code = 1时,必须还要满足:R.Per = C.Per,而不是赋值,不是当R.Code=1时将C.Per赋值给R.Per。

------最佳解决方案--------------------
Select R.name from R,C where (R.Code=1 and R.Per=C.per) or (R.Code=2 and R.Month=C.Month)
------其他解决方案--------------------
Thank you very much!!!