-2

3 つのテーブルで結合を実行したいと考えています。

表 1: part_master

列:アイテム、Item_status

表 2: Order_Details

列:アイテム、注文番号、注文タイプ

表 3:順序

列: order_num、order_type

カーディナリティは次のとおりです。

part_master <--> order_details (1..1)

order <--> order_details (1..n)

注文テーブルで検索を実行して、part_master から item_status を取得したいと考えています。つまり、order_num を検索条件として使用して、注文の item_status を確認したいと考えています。

私はこのようなことを試みますが、例外がスローされます:

select part_master.item_status from part_master where item = (order_details where order_details.order_num = order.order_num からアイテムを選択)

エラーは、2 番目の「select」ステートメントが正しくない複数の結果を返すことを示しています。

ヘルプ....!

4

1 に答える 1

0

注文に複数の注文詳細行が含まれている場合、内部選択

select item from order_details where order_details.order_num = order.order_num

複数の行を返します。試してみてください。

クエリを次のように変更します

select part_master.item, part_master.item_status from part_master where item in 
    (select item from order_details 
     where order_details.order_num = order.order_num)

あなたが望むものを返す必要があります。

于 2013-06-17T17:08:38.013 に答える