我有2個表(實體)個人實體和度假實體。一個人可以有很多假期。簡單的HQL/sql查詢..需要幫助嗎?
我試圖做的是以下查詢:
選擇所有的人期間!但誰擁有一個假期的人,我希望獲取所有具有條件的人休假的,免得只說startDate
是介於兩者之間。
只是要清楚,無論在假期我仍然希望得到所有persons.this的約束是我目前的HQL查詢:
select distinct p
from Person as p
left join fetch p.vacations as v
where v.startDate between '2011-07-01' and '2011-07-30'
它的問題是,它約束我的人的回報只有那些度假,尊重條件的人....有人可以幫忙嗎?
我有沒有問題,如果有人能告訴我這在本機SQL
UPDATE本地SQL感謝決心@Quasdunk:
SELECT *
FROM person as p
LEFT JOIN
(SELECT * FROM vacation
WHERE startDate BETWEEN '2011-08-01' AND '2011-08-30') as v ON v.person_id = p.id
我的新問題是如何將其轉換爲HQL查詢所以我可以爲每個人提供假期,並且要求不同的人(條件保持不變)。
相當'噸....工作:d – Alexx
@Alexx究竟是不是工作?表名是否正確?假期中的外籍人士是否與親朋同名(否則你必須加入...)? – Quasdunk
您正在混合來自人員和休假的列,並返回更多行的列。像SELECT * FROM人p其中爲person_id中(從休假其中......選擇爲person_id),或在不PERSON_ID – ssedano