Please consider this example:

---begin---
#!/bin/sh

DB=sq.sqlite
rm -f $DB

sql() {
   echo "$1" | sqlite3 $DB
}

sql "create table a(id integer not null, primary key(id));"
sql "create table b(oid integer not null, chr char null);"
sql "insert into a values(1);"
sql "insert into a values(2);"
sql "insert into b values(1,'y');"
sql "insert into b values(1,'x');"
sql "insert into b values(2,'x');"
sql "insert into b values(2,'y');"

sql "select
        a.id,
        (select group_concat(chr)
         from b
         where oid = a.id
         group by oid
         order by chr
        )
      from
        a;"
---end---

It returns this dataset:
1|y,x
2|x,y

The 'order by' clause doesn't work, because if it did the result would 
have been:
1|x,y
2|x,y

sqlite3-3.9.2

Yuri

Reply via email to