JOOQ выбирает столбцы из 2 таблиц при объединении 4 таблицMySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 JOOQ выбирает столбцы из 2 таблиц при объединении 4 таблиц

Сообщение Anonymous »

С запросом вида:

Код: Выделить всё

context.select()
.from(TABLE_ONE)
.join(TABLE_TWO).on(TABLE_ONE.foo == TABLE_TWO.foo)
.join(TABLE_THREE).on(TABLE_TWO.bar == TABLE_THREE.bar)
.join(TABLE_FOUR).on(TABLE_THREE.bat == TABLE_FOUR.bat)
.where(TABLE_FOUR.baz.eq(42));

мы возвращаем все перечисляемые столбцы всех четырех таблиц типобезопасным способом. Эта форма запроса сейчас работает для моей команды.
Мне нужно изменить это, чтобы возвращать столбцы только таблиц ONE и TWO.
Я пробовал:

Код: Выделить всё

context.select(TABLE_ONE.asterisk(), TABLE_TWO.asterisk())
.from(TABLE_ONE)
.join(TABLE_TWO).on(TABLE_ONE.foo == TABLE_TWO.foo)
.join(TABLE_THREE).on(TABLE_TWO.bar == TABLE_THREE.bar)
.join(TABLE_FOUR).on(TABLE_THREE.bat == TABLE_FOUR.bat)
.where(TABLE_FOUR.baz.eq(42));

Это близко к достижению цели, но это небезопасный способ, который (как мне говорит Интернет) не будет работать с миграциями. Есть ли способ сделать это безопасно? Я представлял себе что-то вроде:

Код: Выделить всё

context.select(TABLE_ONE.fields(), TABLE_TWO.fields())
.from(TABLE_ONE)
.join(TABLE_TWO).on(TABLE_ONE.foo == TABLE_TWO.foo)
.join(TABLE_THREE).on(TABLE_TWO.bar == TABLE_THREE.bar)
.join(TABLE_FOUR).on(TABLE_THREE.bat == TABLE_FOUR.bat)
.where(TABLE_FOUR.baz.eq(42));

но, насколько я могу судить, ничего подобного не существует

Подробнее здесь: https://stackoverflow.com/questions/793 ... are-joined
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «MySql»