Reputation: 3
I have 2 tables
Table 1
Positon | Name | Nickname | Address
------------------------------------
1 | 2 | 3 | 4
5 | 6 | | 7
5 | 6 | | 8
Table 2
Detail_seq | Details
--------------------
1 | manager
2 | Jimmy
3 | Jim
4 | Chicago
5 | Supervisor
6 | Mike
7 | Vancouver
8 | New York
and the output should be like this or something
Position: Manager
Name: Jimmy
Nickname: Jim
Address: Chicago
Position: Supervisor
Name: Mike
Nickname:
Address: Vancouver and New York
feel free to ask questions if it is not clear.
thanks in advance
Upvotes: 0
Views: 75
Reputation: 33273
You need to join the details table one time for every detail:
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
Upvotes: 1
Reputation: 2278
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 ;
Upvotes: 0
Reputation: 460138
I think this is what you want:
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
Upvotes: 1
Reputation: 914
It's a little bit extreme to store data this way. I can offer you to store the data categories in different tables. but if you insist, this should work
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
Upvotes: 1