Android中sqlite3中的多个where子句

时间:2014-06-14 07:45:06

标签: android sqlite

我在Android中使用2天以来一直在使用sqlite查询。

以下是详细信息 -

我有两张桌子

  1. localeResource

  2. 横幅表

  3. 表结构是 -

    LocalResource - id,locale,key,value

    横幅 - bannerid,bannername,bannerimage,bannerlink,bannertext,countryid,bannerassociate

    我的查询就像 -

    工作查询 -

    select ban.bannerid,loc.value,ban.bannerimage,ban.bannerlink,ban.bannertext,ban.countryid,ban.bannerassociatedstyle from banner ban left outer join localeResources  loc on  loc.key = ban.bannername and loc.locale='FR';
    

    但我想要查询 -

    select ban.bannerid,loc.value,ban.bannerimage,ban.bannerlink,locs.value,ban.countryid,ban.bannerassociatedstyle from banner ban left outer join localeResources  loc, localeResources  locs on  loc.key = ban.bannername, locs.key = ban.bannertext and loc.locale='FR';
    

    当我正在运行第二个查询时,我的sqlite正在挂起并崩溃。

    请让我知道什么&我失踪的地方。

2 个答案:

答案 0 :(得分:1)

您的查询错误:

这个应该有效:

    select ban.bannerid,loc.value,ban.bannerimage,ban.bannerlink,locs.value,ban.countryid,ban.bannerassociatedstyle 
   from banner ban left outer join localeResources  loc on loc.key = ban.bannername and loc.locale='FR'
   left outer join localeResources  locs on  locs.key = ban.bannertext ;

你的声明在错误的地方。

答案 1 :(得分:0)

感谢Jens,根据您的查询,正确的查询是 -

select ban.bannerid,loc.value,ban.bannerimage,ban.bannerlink,locs.value,ban.countryid,ban.bannerassociatedstyle from banner ban 
left outer join localeResources  loc on loc.key = ban.bannername and loc.locale='FR' left outer join localeResources  locs on  locs.key = ban.bannertext 
and locs.locale='FR';";