SELECT 
       substring(fc.CollectionTime,1,4) +'年' 
       + substring(fc.CollectionTime,5,2) + '月' 
       + substring(fc.CollectionTime,7,2) + '日' as CollectionTime,  
       d1.ShowField as Responsibility,d2.ShowField as Diligence,
       d3.ShowField as Masses,d4.ShowField as Rewards,
       d5.ShowField as Legal, d6.ShowField as Custom,
       d7.ShowField as Family,d8.ShowField as BadHabits,
       d9.ShowField as Member,d10.ShowField as Folk,
       d11.ShowField as Bank, d12.ShowField as Evaluation
FROM BaseData.F as fc
left join SystemSettings.Dictionary as d1 on
fc.Responsibility = d1.DictionaryId
left join SystemSettings.Dictionary as d2 on
fc.Diligence = d2.DictionaryId
left join SystemSettings.Dictionary as d3 on
fc.Masses = d3.DictionaryId
left join SystemSettings.Dictionary as d4 on
fc.Rewards = d4.DictionaryId
left join SystemSettings.Dictionary as d5 on
fc.Legal = d5.DictionaryId
left join SystemSettings.Dictionary as d6 on
fc.Custom = d6.DictionaryId
left join SystemSettings.Dictionary as d7 on
fc.Family = d7.DictionaryId
left join SystemSettings.Dictionary as d8 on
fc.BadHabits = d8.DictionaryId
left join SystemSettings.Dictionary as d9 on
fc.Member = d9.DictionaryId
left join SystemSettings.Dictionary as d10 on
fc.Folk = d10.DictionaryId
left join SystemSettings.Dictionary as d11 on
fc.Bank = d11.DictionaryId
left join SystemSettings.Dictionary as d12 on
fc.Evaluation = d12.DictionaryId有简便的写法?
能得到结果,但不知性能如何?

解决方案 »

  1.   

    12表左联,没有更简单的写法了效率只能看sql服务自身的配置了。
      

  2.   

    我们没有表,而且不知道正确数据是什么样的。只能你自己折腾了,left join 很久不用
      

  3.   

    select  substring(fc.CollectionTime,1,4) +'年'  + substring(fc.CollectionTime,5,2) + '月'  
      + substring(fc.CollectionTime,7,2) + '日' as CollectionTime,  Dictionary.ShowField as Responsibility,
      Dictionary.ShowField as Diligence, Dictionary.ShowField as Masses,Dictionary.ShowField as Rewards, Dictionary.ShowField as Legal, Dictionary.ShowField as Custom,
      Dictionary.ShowField as Family,Dictionary.ShowField as BadHabits, Dictionary.ShowField as Member,Dictionary.ShowField as Folk,
      Dictionary.ShowField as Bank, Dictionary.ShowField as Evaluation
       from  BaseData.F as fc left join SystemSettings.Dictionary
    on fc.Responsibility = Dictionary.DictionaryId
    or fc.Diligence = Dictionary.DictionaryId
    or fc.Masses = Dictionary.DictionaryId
    or fc.Rewards = Dictionary.DictionaryId
    or fc.Legal = Dictionary.DictionaryId
    or fc.Custom = Dictionary.DictionaryId
    or fc.Family = Dictionary.DictionaryId
    or fc.BadHabits = Dictionary.DictionaryId
    or fc.Member = Dictionary.DictionaryId
    or fc.Folk = Dictionary.DictionaryId
    or fc.Bank = Dictionary.DictionaryId
    or fc.Evaluation = Dictionary.DictionaryId
      

  4.   

    在GridView呈现时候写不是更简单吗