我有兩個表,一個用於個人,另一個用於他們的公司。MySql中的ISNULL函數中的兩列
每個表都有一個locale列,這對公司是強制性的,但對個人來說不是強制性的。這個想法似乎是,如果個人沒有設定偏好,他們會被假定爲在他們公司的地區。
我想選擇個別的區域設置,使用默認的公司,如果個別區域設置爲空,我認爲做以下(這我不認爲是在MySQL可能)的...
SELECT
ISNULL(individual.Locale, company.Locale) `Locale`
FROM
individual
INNER JOIN
company ON company.CompanyId = individual.CompanyId
WHERE
individual.IndividualId = 1
是否有一個很好的方法來做到這一點 - 或者我只是最終將兩個Locale的背部發送並在代碼中作出決定?
+1,因爲這是一個偉大的答案 - 我與COALESCE走到底,因爲它會在其他數據庫工作太和除非您將其用作子查詢的一部分,否則它會執行相同的操作。 – Fenton
不錯的選擇。我今天也學到了一些東西:) –