当前位置: 代码迷 >> Sql Server >> 从2个表中取结果的sql?解决办法
  详细解决方案

从2个表中取结果的sql?解决办法

热度:31   发布时间:2016-04-24 09:11:24.0
从2个表中取结果的sql?
环境 sql2000 

表 man
列 room ,name ,rm

201  张三    
202  李四   
203  王五   

表 yd
列 room ,name 

201  张三    
 
yd只有第一行 room  和 man 表一样(也就是只要yd 表中出先的 room 和 man 表中出现的 room一样 )  ,现在要求得到

结果 

201(OK)  张三    
202          李四   
203          王五   

请教这个简单sql写法 谢谢!
------解决思路----------------------
SELECT CASE WHEN T2.room IS NOT NULL THEN T1.room+'(OK)'ELSE T1.room END room
,T1.name
FROM man T1
LEFT JOIN yd T2 ON T1.room=T2.room


另外,另一个贴中,如果放在视图中有问题,你可以把视图的代码发上来看下
------解决思路----------------------
应该要加上name

SELECT CASE WHEN T2.room IS NOT NULL THEN T1.room+'(OK)'ELSE T1.room END room
    ,T1.name
FROM man T1
    LEFT JOIN yd T2 ON T1.room=T2.room AND t1.name =T2.name
  相关解决方案