, , jOOQ API:
create.select( TABLE1.fields() )
.select( TABLE2.fields() )
.select( TABLE3.fields() )
.select( count().over() )
...
SQL:
SELECT table1.*, table2.*, table3.*, COUNT(*) OVER()
...
API- jOOQ:
, :
SelectQuery<?> select =
create.select()
.from( TABLE1 )
.join( TABLE2 ).on( TABLE1.ID.equal( TABLE2.ID ))
.join( TABLE3 ).on( TABLE1.OTHER_ID.equal( TABLE3.OTHER_ID ))
.getQuery();
List<Field<?>> fields = new ArrayList<>(select.getSelect());
select.addSelect(fields);
select.addSelect(count().over());
, , .
, SQL-, SQL:
SELECT t.*, COUNT(*) OVER()
FROM (
SELECT *
FROM table1 t1
JOIN table2 t2 ON (t1.id = t2.id)
JOIN table3 t3 ON (t1.otherId = t3.otherId)
) t
jOOQ :
Table<?> t = select()
.from( TABLE1 )
.join( TABLE2 ).on( TABLE1.ID.equal( TABLE2.ID ))
.join( TABLE3 ).on( TABLE1.OTHER_ID.equal( TABLE3.OTHER_ID ))
.asTable("t");
create.select(t.fields(), count().over())
.from(t);
jOOQ (*) jOOQ API. , .
:
, PostgreSQL :
SELECT *, COUNT(*) OVER()
...
SQL "". SQL " " .