抱歉标题含糊,但我真的不知道给这个问题起什么标题:
我有以下结果集:
ID Field FieldValue Culture
1 Color Groen nl-NL
2 Taste Kip nl-NL
3 Color Green en-GB
4 Taste Chicken en-GB
5 Color Green en
6 Taste Chicken en
我想模仿 ASP.Net 的资源选择方式,用户文化 (nl-NL)
SELECT Field, FieldValue FROM Tbl WHERE Culture = 'nl-NL'
或者当没有特定文化的结果时,尝试父文化 (nl)
SELECT Field, FieldValue FROM Tbl WHERE Culture = 'nl'
或者当没有父文化的结果时,尝试默认的文化 (en)
SELECT Field, FieldValue FROM Tbl WHERE Culture = 'en'
如何将这些 SELECT 语句组合到一个 T-SQL 语句中?
我正在使用 LINQ,所以 LINQ 表达式会更大。
OR 语句不起作用,因为我不想要混合文化。
ORDER BY 语句无济于事,因为它返回每种文化的多条记录。
输出可能类似于 (nl-NL):
Color Groen
Taste Kip
或 (en-GB / en):
Color Green
Taste Chicken