次のような2つのテーブルがあります。(SQL Server 2012)

●ryoko_data(旅行データ)

(旅行NO)       (出発地ID)               (目的地ID)  
ryoko_no(int)   syuppatuti_id(nvarchar)   mokutekiti_id(nvarchar)
1               1                         2
2               3                         1
3               2                         1
4               1                         3
5               2                         3

●ini_file_tekina_table (この問題に出会ったときの対象のテーブルがEAVだったので、このテーブルがEAVであることをご了承ください)

category(nvarchar)   section(nvarchar)   item(nvarchar)
ユーザー名            3                   一郎
ユーザー名            2                   花子
ユーザー名            1                   太郎
地名                 2                   大阪
地名                 1                   東京
地名                 3                   名古屋

次のような結果を出すことが今回の目的です。

ryoko_no    syuppatuti_id   出発地    mokutekiti_id  目的地
1           1               東京     2               大阪
2           3               名古屋   1               東京
3           2               大阪     1               東京
4           1               東京     3               名古屋
5           2               大阪     3               名古屋

以下のSQL文を流すと、次のようになります。

(このSQL文をXとします)
    select ryoko_no, syuppatuti_id, item, mokutekiti_id from ryoko_data r
    left join ini_file_tekina_table i on r.syuppatuti_id = i.section where category = '地名'
    order by ryoko_no

    ryoko_no    syuppatuti_id   item    mokutekiti_id
    1           1               東京    2
    2           3               名古屋  1
    3           2               大阪    1
    4           1               東京    3
    5           2               大阪    3

ここで、目的地も地名を出したいので、以下のSQL文を流したところ、次のようになりました。

select ryoko_no, 
syuppatuti_id,  
item 出発地, 
mokutekiti_id, 
(select item from  ini_file_tekina_table where section=mokutekiti_id and category='地名') 目的地
 from ryoko_data r
left join ini_file_tekina_table i  on r.syuppatuti_id = i.section   where category='地名'
order by ryoko_no

ryoko_no    syuppatuti_id   出発地    mokutekiti_id  目的地
1           1               東京     2               大阪
2           3               名古屋   1               東京
3           2               大阪     1               東京
4           1               東京     3               名古屋
5           2               大阪     3               名古屋

最初はLEFT JOIN又はONを複数利用してどうにかできないかと思いましたが、私にはできませんでした(思いついたもののエラーになったSQL文を一番下にZとして示します)ので、上のSQL文のようになりました。
ここで、もしかしたら副問合せを使えばLEFT JOINを使わずにできるのではないかと考え、以下のSQL文を流したところ、次のようになりました。同じ結果です。

(このSQL文をYとします)
    select ryoko_no, 
    syuppatuti_id, 
    (select item from  ini_file_tekina_table where section=syuppatuti_id and category='地名') 出発地, 
    mokutekiti_id, 
    (select item from  ini_file_tekina_table where section=mokutekiti_id and category='地名') 目的地
     from ryoko_data r
    order by ryoko_no

ryoko_no    syuppatuti_id   出発地    mokutekiti_id  目的地
1           1               東京     2               大阪
2           3               名古屋   1               東京
3           2               大阪     1               東京
4           1               東京     3               名古屋
5           2               大阪     3               名古屋

ここで質問なのですが、Yによる結果をJOINを使って(副問合せを用いずに、Xを発展させる形で)出せますか?

エラーになったSQL文 Z
    select ryoko_no, 
    syuppatuti_id,  
    item, 
    mokutekiti_id, 
    i2.item
    (select item from  ini_file_tekina_table where section=mokutekiti_id and category='地名')
     from ryoko_data r
    left join ini_file_tekina_table i  on r.syuppatuti_id = i.section   where category='地名' 
    left join ini_file_tekina_table i2  on r.mokutekiti_id = i.section   where category='地名'
    order by ryoko_no