Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQL错误代码1(靠近“0”)&引用;_Android_Sql - Fatal编程技术网

Android SQL错误代码1(靠近“0”)&引用;

Android SQL错误代码1(靠近“0”)&引用;,android,sql,Android,Sql,我正试图用这个语句在我的Android应用程序中编写这个查询 public void syncflavorcount() { mDb.execSQL("UPDATE " +DATABASE_TABLE2+ " SET COUNT = (SELECT SUM(c)" + " FROM ("+ "SELECT COUNT(*) AS c FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+

我正试图用这个语句在我的Android应用程序中编写这个查询

 public void syncflavorcount() {

    mDb.execSQL("UPDATE " +DATABASE_TABLE2+ " SET COUNT = (SELECT SUM(c)" +
            " FROM ("+
            "SELECT COUNT(*) AS c FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+ ".flv1name = " +DATABASE_TABLE2+ ".name "+
            " UNION ALL "+
            " SELECT COUNT(*) FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+ ".flv2name = " +DATABASE_TABLE2+ ".name "+
            " UNION ALL "+
            " SELECT COUNT(*) FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+ ".flv3name = " +DATABASE_TABLE2+ ".name)");
}
它很好,但是当它运行时,我得到了这个错误

      Error Code : 1 (SQLITE_ERROR)
      Caused By : SQL(query) error or missing database.
      (near ")": syntax error (code 1): , while compiling: UPDATE flavors  SET COUNT = (SELECT SUM(c) FROM (SELECT COUNT(*) AS c FROM recipes WHERE flavors.flv1name = flavors.name  UNION ALL  SELECT COUNT(*) FROM recipes WHERE flavors.flv2name = flavors.name  UNION ALL  SELECT COUNT(*) FROM recipes WHERE flavors.flv3name = flavors.name))
我不知道这是为什么。该语句只有两个开括号。有人能帮我查一下吗。或者帮我把这句话写出来

预期的输出应该是DATABASETABLE2的列名计数将更新为DATABASETABLE的列名flv1name的计数。。。flv3name,其中来自flv1name的条目。。。flv3name等于DATABASETABLE2的名为name的列

    DATABASETABLE2

    name    other columns      count
    Apple   ...                1
    Berry   ...                3
    Cherry  ...                0
    ...     ...                ...

内部查询可能需要别名

根据@Jens的评论,您在
设置计数=(


COUNT=(
结尾处缺少结束括号感谢这一错误的帮助,但现在我有了另一个更复杂的错误。感谢这一错误的帮助,但现在我有了另一个更复杂的错误。(“FROM”附近):语法错误(代码1):“有了所有的FROM,我想它是来自声明中的第一个FROM。
public void syncflavorcount() {
    mDb.execSQL("UPDATE " +DATABASE_TABLE2+ " SET COUNT = (SELECT SUM(c)" +
            " FROM ("+
            "SELECT COUNT(*) AS c FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+ ".flv1name = " +DATABASE_TABLE2+ ".name "+
            " UNION ALL "+
            " SELECT COUNT(*) FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+ ".flv2name = " +DATABASE_TABLE2+ ".name "+
            " UNION ALL "+
            " SELECT COUNT(*) FROM " +DATABASE_TABLE+ " WHERE " +DATABASE_TABLE2+ ".flv3name = " +DATABASE_TABLE2+ ".name) as myTable)");
}