首页 新闻 会员 周边 捐助

这句sql怎么改成linq

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-30 11:20
select spepmenu_main.id from speppower,spepmenu_main where speppower.menuid=spepmenu_main.id and upper(speppower.account)='{0}'and speppower.power_status='1' order by speppower.account
许大虾的主页 许大虾 | 初学一级 | 园豆:12
提问于:2014-05-28 15:08
< >
分享
最佳答案
0

你还在转这些SQL啊.....可怜的孩子

string account=XXX.ToUpper();

var result=from s in spepmenu_main

      where s.account.ToUpper()==account && s.power_status='1'

      join v in speppower

      on s.id eques v.menuid

     

      order by s.account

      select s.id

收获园豆:10
hailants | 小虾三级 |园豆:750 | 2014-05-28 16:29

o(︶︿︶)o    

为什么会有个join?  

直接把 on s.id eques v.menuid  

放到上面的 where 里面 不行吗?

许大虾 | 园豆:12 (初学一级) | 2014-05-28 16:53

@许大虾: 因为是多表查询

不过可以试试这么写:

var result=from s in spepmenu_main

      from v in speppower

      where s.account.ToUpper()==account && s.power_status='1'

      &&  s.id == v.menuid           

      order by s.account

      select s.id

 
hailants | 园豆:750 (小虾三级) | 2014-05-29 11:32

@hailants: 上面这两种好像最后都会报一个  找不到 列Id的错

许大虾 | 园豆:12 (初学一级) | 2014-05-30 08:48

@许大虾: 楼下说的对,我少打了括号

hailants | 园豆:750 (小虾三级) | 2014-06-01 07:11
其他回答(1)
0

select s.id   应该改为select new{s.id};

许大虾 | 园豆:12 (初学一级) | 2014-05-30 11:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册