Извините за смутное название, но я действительно не знал, какое название дать этой проблеме:
У меня есть следующий набор результатов:
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