0

私は2つのテーブルを持っています

表1

Positon | Name | Nickname | Address
------------------------------------
   1    |   2  |    3     |    4
   5    |   6  |          |    7
   5    |   6  |          |    8

表2

Detail_seq | Details
--------------------
     1     |  manager
     2     |  Jimmy
     3     |  Jim
     4     |  Chicago
     5     |  Supervisor
     6     |  Mike
     7     |  Vancouver
     8     |  New York

出力はこのようなものでなければなりません

Position: Manager
Name: Jimmy
Nickname: Jim
Address: Chicago

Position: Supervisor
Name: Mike
Nickname:
Address: Vancouver and New York

不明な点がございましたら、お気軽にご質問ください。

前もって感謝します

4

4 に答える 4

1

この方法でデータを保存するのは少し極端です。データカテゴリを別のテーブルに保存することを提案できます。しかし、あなたが主張するなら、これはうまくいくはずです

SELECT d1.details, d2.details, d3.details, d4.details
FROM main m, details d1, details d2, details d3, details d4
WHERE m.position = d1.detail_seq 
AND   m.name     = d2.detail_seq
AND   m.nickname = d3.detail_seq
AND   m.adress   = d4.detail_seq
于 2013-03-07T09:47:25.107 に答える
1

すべての詳細について、一度詳細テーブルに参加する必要があります。

  SELECT pos.Details, name.details, nick.details, adress.details
    FROM table1 t1
    LEFT JOIN table2 pos     ON pos.detail_seq = t1.position
    LEFT JOIN table2 name    ON name.detail_seq = t1.name
    LEFT JOIN table2 nick    ON nick.detail_seq = t1.nickname
    LEFT JOIN table2 address ON address.detail_seq = t1.address
于 2013-03-07T09:48:45.723 に答える
1

これがあなたが望むものだと思います:

SELECT Position=manager.details, 
       Name=Name.details, 
       Nickname=Nickname.details, 
       Address=Address.details 
FROM   table1 t1 
       LEFT OUTER JOIN table2 manager 
                    ON t1.positon = manager.detail_seq 
       LEFT OUTER JOIN table2 name 
                    ON t1.name = name.detail_seq 
       LEFT OUTER JOIN table2 Nickname 
                    ON t1.nickname = Nickname.detail_seq 
       LEFT OUTER JOIN table2 Address 
                    ON t1.address = Address.detail_seq 

デモ

于 2013-03-07T09:51:05.077 に答える
0
select (select details from t2 where t2.detail_seq=t1.position) position,
       (select details from t2 where t2.detail_seq=t1.name) Name,
       (select details from t2 where t2.det_seq=t1.nickname) nickname,
       (select details from t2 where t2.det_seq=t1.address) address
from t1 ;
于 2013-03-07T09:59:00.443 に答える