1
我想在一對多關係(使用SQL或Hibernate)上做一個外部聯接,我嘗試一個錯誤的語法,或者是這是不可能的設計?在一對多關係上的外部聯接(Hibernate/SQL)
讓我們舉一個簡單的例子:用戶可以更改參數的值。對於沒有用戶值參數,則使用默認值:
Table **PARAMETER** :
PAR_ID
PAR_NAME
PAR_DEFAULT_VALUE
Table **USER_PARAMETER** :
UP_ID
UP_PAR_ID
UP_US_ID
UP_CUSTOM_VALUE
Table **USER** :
US_ID
US_LOGIN
對於一個給定的用戶,我想列出他們的默認值,他們的自定義值的所有參數,如果用戶給出一個(和「空」如果它沒有這個用戶的任何自定義值)。
我試過下面的請求,但如果用戶沒有定製的值將沒有返回值:
SELECT PAR_NAME, PAR_DEFAULT_VALUE, UP_CUSTOM_VALUE
FROM PARAMETER
LEFT JOIN USER_PARAMETER on UP_PAR_ID = PAR_ID
WHERE UP_US_ID = 1
我本來期望PAR_NAME和PAR_DEFAULT_VALUE填寫每個現有的參數,並UP_CUSTOM_VALUE填寫用戶定製參數(其他參數爲「null」)。
你說得對,它的工作原理。我以爲我已經嘗試過這個......並且使用HQL,它也可以使用「with」關鍵字。 – Tristan