0
Hi iam using sqlite3 and have following table : 

userId      name        rollNumber  class       section     fingerIdx          
----------  ----------  ----------  ----------  ----------  ------------------
1           ram         1           1           a           Right Thumb Finger
2           ram         1           1           a           Right Index Finger

テーブルに上記の値があります。私の要件は、"ram, 1, 1, a, 'Right Thumb Finger, Right Index Finger ". これを入手する方法は?

4

1 に答える 1

0

group_concatあなたがやりたいことをする機能があります。こちらの説明をご覧ください

編集:

このクエリはMySQLで機能します(現在sqliteはありませんが、同じように機能するはずです)。

select name, rollnumber, class, section, group_concat(fingerIdx) from so group by name, rollnumber, class, section;

出力:

+------+------------+-------+---------+-------------------------+
| name | rollnumber | class | section | group_concat(fingerIdx) |
+------+------------+-------+---------+-------------------------+
| ram  |          1 |     1 | a       | RightThumb,RightIndex   |
+------+------------+-------+---------+-------------------------+

EDIT2:

ちなみに、テーブルのデザインについてはよく考えておく必要があります。同じユーザーに対して2つのエントリがあるようですが、userIdが異なります。1対多の関係(またはそれ以上)のためにuserテーブルと別のテーブルを作成する方が良い(userid, name, rollnumber, class, section)user_finger(userId, fingerIdx)

于 2012-06-26T05:48:05.683 に答える