2016-09-13 2 views
1

Мне нужно сделать эквивалент этого в JOOQ.Выберите константу в союзе JOOQ

SELECT 
    name, 
    'companyType' AS resultType 
FROM company 
UNION ALL 
SELECT 
    name, 
    'userType' AS resultType 
FROM "user"; 

я понял, как сделать unionall в JOOQ штрафа, но я не могу понять, как выбрать постоянное значение для результатов либо выбрать союза.

ответ

3

Вы ищете DSL.inline(), который используется для именно это:

inline("companyType").as("resultType") 

Или полный запрос:

using(configuration) 
    .select(COMPANY.NAME, inline("companyType").as("resultType")) 
    .from(COMPANY) 
    .unionAll(
    select(USER.NAME, inline("userType").as("resultType")) 
    .from(USER)) 
    .fetch(); 

Оба примера предположим, что вы имеете статический импорт:

import static org.jooq.impl.DSL.*; 

Дополнительную информацию можно найти здесь: http://www.jooq.org/doc/latest/manual/sql-building/bind-values/inlined-parameters

Смежные вопросы