0

SQLServerでこの状況を処理するための適切なクエリを思い付くのに苦労しています。

WarehouseとTransferの2つのテーブルがあります。

倉庫

  • wh_id(PK)
  • wh_name

移行

  • transfer_id(PK)
  • transfer_from(FK)
  • transfer_to(FK)

返すクエリが必要です:

  • transfer_id
  • transfer_from-IDではなく名前
  • transfer_to-IDではなく名前

私がこれまでに試したこと:

SELECT T.transfer_id, WH.wh_name, T.transfer_to
FROM transfer AS T INNER JOIN warehouse AS WH
ON T.transfer_from = WH.wh_id

これは、transfer_toではなくtransfer_fromの名前のみを示します。同様のクエリが必要でしたが、SQLの専門知識のレベルが低く、この問題に対処する方法がわかりません。どんなガイダンスでも大歓迎です。

4

2 に答える 2

5

warehouseテーブルの2つの列から同等の名前を取得する必要があるため、テーブルを2回結合する必要がありtransferます。

SELECT  a.transfer_ID,
        b.wh_name AS from_name,
        c.wh_name AS to_Name
FROM        transfer a
            INNER JOIN warehouse b
                ON a.transfer_from = b.wh_id
            INNER JOIN warehouse c
                ON a.transfer_to = c.wh_id
于 2012-10-25T15:49:43.620 に答える
0
select tr.transfer_id, wh_from.wh_name, wh_from.wh_name
from transfer tr, warehouse wh_from, warehouse wh_to
where tr.transfer_From = wh_From.wh_id
and tr.transfer_to = wh_to.wh_id
于 2012-10-25T15:50:05.243 に答える