有没有办法与案件联系

Joe*_*Joe 1 sql-server function sql-server-2000 table-functions

有没有办法与案件联系?

就像是

select * from abba 
   case when a=b then 
      join acdc on abba.id=acdc.id
   when b=c then 
      join bebop on abba.id=bebop.id 
   end
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

最好的问候乔

Hei*_*nzi 6

通常的方法是LEFT JOIN两个表并根据CASE条件选择:

SELECT *, CASE WHEN a=b THEN acdc.myField ELSE bebop.myField END AS myField
  FROM abba 
       LEFT JOIN acdc ON abba.id=acdc.id 
       LEFT JOIN bebop ON abba.id=bebop.id
Run Code Online (Sandbox Code Playgroud)