データベースには、stockitem、supplier、city の 3 つのテーブルがあります。
stkid
在庫 ID ( )、在庫名 ( stkname
)、および在庫 ID のサプライヤーの相対都市名 ( にリンク)を選択する SQL クエリを実行する必要がありますsuppid
。
これを行うには、stockitem テーブル (外部キー) とsupplier テーブル (主キー) の 2 つの属性INNER JOIN
をリンクする 2 つのステートメントを実行する必要があると言われました。suppid
同様にcitycode
、表のサプライヤー (FK) と都市 (PK) の両方で同じことを行う必要があります。
ここに私が持っているものがあります:
SELECT I.stkid , I.stkname , C.cityname "Supplier Location"
FROM stockitem I
-- inner join stockitem <-> supplier
INNER JOIN supplier S
ON I.suppid = S.suppid
-- inner join supplier <-> city
INNER JOIN city C
ON S.citycode = C.citycode
ORDER BY stkid ASC;
どんな助けでも素晴らしいでしょう。
ありがとう!!
編集:申し訳ありませんが、出力を送信するのを完全に忘れていました。これが私が得続けるエラーです。
SELECT I.stkid , I.stkname , C.cityname "Supplier Location"
*
Error at line 1:
ORA-00904: "C"."CITYNAME": invalid identifier
INNER JOIN supplier S
*
Error at line 1:
ORA-00900: invalid SQL statement
INNER JOIN city C
*
Error at line 1:
ORA-00900: invalid SQL statement
私は単純にすべてのストックアイテム行が、(サプライヤーテーブルを介して) 都市テーブルから参照された相対的な属性stkid
、stkname
およびと共に返されることを期待していました。cityname