-1

2 つのテーブルを結合する方法について質問があります。次のテーブルがあります。

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

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

Item テーブルにはコードのみが含まれ (EleCode は TYPE Electronics、WomCode は TYPE Womens など)、CODES はルックアップ テーブルです。これらの 2 つには関連性がありません。1 つのクエリで、次のように取得する必要があります。

ItemID、数量、価格、EleCode、説明、WomCode、説明、MenCode、説明。

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

このクエリの構成を教えてください。

4

2 に答える 2

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);
于 2012-07-11T01:32:05.997 に答える
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
于 2012-07-11T01:40:25.703 に答える