select pd_sys_accounts.account,pd_sys_accounts.name,OB_ACCOUNT_ADDTIONAL.SKILLLEVEL 
from pd_sys_accounts 
left join OB_ACCOUNT_ADDTIONAL
on pd_sys_accounts.account=OB_ACCOUNT_ADDTIONAL.ACCOUNT
我要实现SKILLLEVEL不为空时显示原来的,为空时默认为1,怎么写SQL语句?在线等

解决方案 »

  1.   

    以下是SQL Serverselect   pd_sys_accounts.account,pd_sys_accounts.name,
    ISNULL(OB_ACCOUNT_ADDTIONAL.SKILLLEVEL,1)
    from   pd_sys_accounts   
    left   join   OB_ACCOUNT_ADDTIONAL 
    on   pd_sys_accounts.account=OB_ACCOUNT_ADDTIONAL.ACCOUNT 
      

  2.   

    做人事系统么?SELECT pd_sys_accounts.account, pd_sys_accounts.name, 
          (CASE OB_ACCOUNT_ADDTIONAL.SKILLLEVEL WHEN NULL 
          THEN '1' ELSE SKILLLEVEL END) AS SKILLLEVEL
    FROM pd_sys_accounts LEFT JOIN
          OB_ACCOUNT_ADDTIONAL ON 
          pd_sys_accounts.account = OB_ACCOUNT_ADDTIONAL.ACCOUNT
      

  3.   

    以下是Accessselect   pd_sys_accounts.account,pd_sys_accounts.name,
    IIF(OB_ACCOUNT_ADDTIONAL.SKILLLEVEL IS NULL,1,OB_ACCOUNT_ADDTIONAL.SKILLLEVEL)
    from   pd_sys_accounts   
    left   join   OB_ACCOUNT_ADDTIONAL 
    on   pd_sys_accounts.account=OB_ACCOUNT_ADDTIONAL.ACCOUNT 
      

  4.   

    select   pd_sys_accounts.account,pd_sys_accounts.name,max(case OB_ACCOUNT_ADDTIONAL.SKILLLEVEL is null then 1)  
    from   pd_sys_accounts   
    left   join   OB_ACCOUNT_ADDTIONAL 
    on   pd_sys_accounts.account=OB_ACCOUNT_ADDTIONAL.ACCOUNT 
      

  5.   

    有没有在Oracle数据库中能用的呀,我们使的是Oracle8
      

  6.   

    结合1楼和6楼的SQL解决了,谢谢各位热心的高手!!!