如何将SQLite查询转换为Room查询(AndroidStudio)

时间:2019-11-09 13:37:24

标签: sql sqlite android-studio android-room

我有一个与“ DBite for SQLite”一起使用的SQL查询,现在我想使用Room在我的AndroidStudio项目中实现此查询。

查询如下:

SELECT column1, tab1.column2, ... FROM

            (SELECT column1, column2, ... FROM table1) AS tab1  

            LEFT JOIN  

            (SELECT column2, ... FROM table1 NATURAL JOIN table2 NATURAL JOIN table3  
                GROUP BY column2) AS tab2  // <<< THIS LINE >>>

            ON tab1.column2 = tab2.column2  

            ORDER BY column1 ASC, tab1.column2 ASC;

现在,我遇到了一个错误,并且真的不知道为什么。我在代码中用<<< THIS LINE >>>"标记了一行,在这一行中有一个AS运算符。为此,AS AndroidStudio给了我以下错误:

error: extraneous input 'AS' expecting {<EOF>, ';', K_ALTER, K_ANALYZE, ...

有人可以帮助我走上正确的道路吗?我在这里想念什么?我认为AS运算符应该不是Room的问题。

1 个答案:

答案 0 :(得分:0)

我实际上有一个非常简单的错误,我几个小时都没注意到。以防万一有人收到与我相同的错误消息:我的错误是在错误的位置上用了右括号。因此,如果您也遇到此问题,请检查整个查询中是否存在简单的错误,例如缺少括号或运算符前面的空格...