2016-04-18 2 views
1

У меня есть следующий запрос, и это «неправильно»сортировочные кроссы таблицы в SQL

select 
     request0_.id as id1_12_, 
     request0_.pdf_path as pdf_path2_12_ 
    from 
     request request0_ 
    cross join 
     ptol_user ptoluser1_ 
    where 
     request0_.auditor_user_id=ptoluser1_.id 
     and request0_.applicant_user_id=3 
    order by 
     ptoluser1_.last_name asc 

я хочу сделать этот запрос заказанного Lastname из второй таблицы, но в некоторых строках varvhar равно нуль, и это делает их исчезнуть в результате первого условия где. если это возможно, я хочу некоторые решения и в java jpa для использования весной

+0

Пример данных и желаемых результатов поможет передать то, что вы пытаетесь сделать. Например, что такое «варвар»? –

ответ

0

Если вы хотите включить строки, в которых нет совпадений во второй таблице, вам нужно использовать LEFT JOIN, а не CROSS JOIN.

SELECT request0_.id as id1_12_, request0_.pdf_path as pdf_path2_12_ 
FROM request as request0_ 
LEFT JOIN ptol_user AS ptoluser1_ ON request0_.auditor_user_id = ptoluser1_.id 
WHERE request0_.applicant_user_id = 3 
ORDER BY ptoluser1_.last_name ASC 
+0

Я использую jpa-hibernate, и он автоматически генерирует этот код ... любая идея, как его исправить? –

+0

Нет, извините, я ничего не знаю о jpa-hibernate. – Barmar