1

私は次のようなテーブルとレコードを持っています:

EmployeeName
------------
Ram
Laxman
Bharat
Shatrugn

ここで、1つのクエリで1つの行のすべての値を連結するために出力したい場合:

次のような結果が必要です。

Ram,Laxman,bharat,shatrugn

単一行の(コンマ)と文字列を連結します。しかし、カーソルを使用してAndroidで連結する方法がわかりません。

4

3 に答える 3

4

SQLite では、以下を使用できますGROUP_CONCAT()

select Group_Concat(EmployeeName)
from table1

デモで SQL Fiddle を参照してください

返したいフィールドが複数ある場合は、次GROUP BYのようにクエリで a を使用します。

select id, Group_Concat(EmployeeName)
from table1
group by id

デモで SQL Fiddle を参照してください

于 2012-10-16T10:28:29.260 に答える
2
     String values;
       if (cursor.moveToFirst()) {
                do {

               values=values + cursor.getString(0)+",";

                } while (cursor.moveToNext());

最後のコンマを削除

if (values.length() > 0)
 {
    values= values.substring(0,values.length() - 1);    
  }
于 2012-10-16T10:40:04.150 に答える
2

これが私が使用したコードです...お役に立てば幸いです。

 private SQLiteDatabase myDataBase;
 Cursor cursor;
 String S="";
 String myPath2 = yourDBpath + yourDBNAME;
 try{
 myDataBase = SQLiteDatabase.openDatabase(myPath2, null,SQLiteDatabase.OPEN_READWRITE);
 String sql="your query";
 cursor=myDataBase.rawQuery(sql, null);
if(cursor != null)
{
   while(cursor.moveToNext())
   {
    S=S.append(cursor.getString(0));
    }
}
  } 
}catch(Exception e){

        }finally{
        myDataBase.close();
        }

最終結果は String S にあります。

于 2012-10-16T11:43:45.837 に答える