Я в прошлом примере писал программы на Си выполняющие действия аналогичные SQL. Это же отличная идея. Можно сделать Си-синтаксис для SQL. Вы просто пишите в программе:
А оно в SQL транслируется. SUM, AVG, MIN, MAX можно представить как:
Можно и подзапросы сделать. Единственное, что пока не очевидно, это как сделать группировку по полям.
for(c : db.clients) if(c.age > 20) dataset.append(c.name, c.city, c.age, c.city.id, c.city.name); dataset.sort("city");
А оно в SQL транслируется. SUM, AVG, MIN, MAX можно представить как:
double s = 0; for(c : db.clients) if(c.age > 20) s += c.summa;
Можно и подзапросы сделать. Единственное, что пока не очевидно, это как сделать группировку по полям.
SELECT client, filial FROM doc GROUP BY client, filial