2012-07-11 109 views
-1

我如何加入兩個表的問題,我有以下表SQL連接兩張表

ITEM_TAB 
-------------------------------------------------- 
ItemID, Qty, Price, EleCode, WomCode, MenCode 
-------------------------------------------------- 

CODES_TAB 
-------------------------------------------------- 
CODE  | TYPE    |  DESCRIPTION 
-------------------------------------------------- 
AA  |  ELECTRONICS |   ... 
AA  | WOMEN   |   ... 
AA  | MENS    |   ... 
BB  | GROCERY   |   .... 
BB  |  DELI   | 
-------------------------------------------------- 

項目表只包含代碼(EleCode是TYPE電子,WomCode是TYPE婦女等) ,並且CODES是查找表。這兩個人沒有任何關聯。在單個查詢中,我需要像下面那樣檢索。

ItemID,Qty,Price,EleCode,Desction,WomCode,Description,MenCode,Description。

select i.itemId 
    , i.Qty 
    , i.price 
    , i.EleCode 
    , (select description from code where code='AA' and TYPE='ELECTRONICS') 
    , i.WomCode 
    , (select description from code where code='AA' and TYPE='WOMEN') 
    , i.MenCode 
    , (select description from code where code='AA' and TYPE='MENS') 
from ITEM 

能否請你幫我在制定此查詢。

+0

是您關於MySQL或Oracle的問題嗎?這兩個標籤都不屬於那裏,除非你實際使用兩個DBMS。如果您因Java而添加了'oracle'標記,請將其刪除;這就像使用microsoft作爲windows7問題的標籤 - 製造商或商標所有者無關緊要,因爲您知道誰擁有/發佈了windows7。 (其實,爲什麼這個標籤爲'java'?這裏沒有提及任何編程語言。) – 2012-07-11 01:33:45

回答

0
select ItemID, Qty, Price, EleCode, e.description, womcode , w.description, mencode, m.description 
from item_tab 
left join codes_tab e 
on (eleCode = e.code) 
left join codes_tab w 
on (womcode = w.code) 
left join codes_tab m 
on (mencode = m.code); 
0

我的某個人對此架構有很大的幫助嗎?

喜歡的東西

Select ItemId,Qty,Price,Elecode,e.description,womcode,w.description,mencode,m.description 
left join codes_tab e On e.Type='ELECTRICAL' and e.code = elecode 
left join codes_tab w On w.Type='WOMENS' and w.code = womcode 
left join codes_tab m On m.Type='MENS' and m.code = mencode