問題は、テーブルが最初の正規形に違反していることです。EmpLotusNotes には、従業員の名前と国 (おそらく従業員が働いている国) を含めるべきではありません。
構造とデータのクリーンアップが許可されていない理由に異議を唱える必要があります。
https://www.google.com.au/search?q=sql+first+normal+form+atomicを参照してください
チャレンジ後もデータベースを正規化できない場合の答えは、国のクエリを作成し、最初のテーブルのデータを最初の正規形に分割するクエリを作成してから、2 つを結合することです。
mysql で機能する例を以下に示します。MS SQL では、INSTR の代わりに CHARINDEX を使用し、substr の代わりに substring を使用します。
select employeesWithCountries.*
, countries.sort
from (
select empId, empLotusNotes, substr( empLotusNotes, afterStartOfDelimiter ) country from (
select empId
, empLotusNotes
, INSTR( empLotusNotes, '/' ) + 1 as afterStartOfDelimiter
from EmployeesLotusNotes
) employees
) employeesWithCountries
inner join (
SELECT 'Japan' as country, 1 as sort
union
SELECT 'China' as country, 2 as sort
union
SELECT 'India' as country, 3 as sort
union
SELECT 'USA' as country, 4 as sort
) countries
on employeesWithCountries.country = countries.country
order by countries.sort, employeesWithCountries.empLotusNotes
結果。
30003 Kyo Jun/Japan Japan 1
40004 Jee Lee/China China 2
10001 Amit B/India India 3
20002 Bharat C/India India 3
50005 Xavier K/USA USA 4