sqlite_orm
sqlite_orm copied to clipboard
Select in other select
Please tell me how to execute the following query:
select *
from (
select *
from table
group by name having max(age))
where name = 'Bob';
hi. Select inside FROM isn't implemented right now. We are thinking about API. If you have any idea you're welcome
storage.select( asterisk<Music>(), from( select( ... ) ) ); ?
@OldMen ok how to specify where name = 'Bob' where name is a column defined inside sub-select?
storage.select( asterisk(), from( select( ... ) ), where( ... ) );
please expand ...
storage.select(
asterisk<Table>(),
from( select( asterisk<Table>(), group_by( &Table::name ).having( max( &Table::age ) ) ) ),
where( is_equal( &Table::name, "Bob ) )
);
ok it looks nice thanks. What if we need to use aliases inside sub-select and reference to it in the outer WHERE?
Я не часто использую алиасы, поэтому не могу сразу рассмотреть проблему. :)
I can add a support for query provided by you no problem but what to do with queries like this
SELECT departments.department_name, subquery1.latest_hire
FROM departments,
(SELECT department_id, MAX(hire_date) AS latest_hire
FROM employees
GROUP BY department_id) subquery1
WHERE subquery1.department_id = departments.department_id;
?
А если попробовать такой интерфейс?
auto subquery1 = storage.subquery( select( asterisk<Table>(), group_by( &Table::name ).having( max( &Table::age ) ) ) );
auto result = storage.select( subquery1.field, from( subquery1 ) );
@OldMen how to specify WHERE subquery1.department_id = departments.department_id; in your case?
@OldMen I like Russian language, I speak it mostly and it is my mother language but please write public issues in English cause open source has to be written in English. If you want to speak Russian let's use email [email protected] instead. Thanks
@OldMen are you there?