Oracle SQL Developerのデータベースを割り当ての一部として実行していますが、インストールするすべてのセンサーをリストする必要があるクエリを実行する際に問題があります彼らを担当している特定の種類の会社。私はこのために使用SQL - 3つの異なるテーブルと弱いエンティティを関連付けるクエリ
テーブルには、次のとおりです。
CREATE TABLE Company
(
IDempresa INTEGER NOT NULL ,
Nome VARCHAR2 (64) ,
Localizacao VARCHAR2 (64) ,
TipoEmpresa_IDE INTEGER NOT NULL
) ;
ALTER TABLE Company ADD CONSTRAINT Company_PK PRIMARY KEY (IDempresa) ;
CREATE TABLE Sensor
(
ID_sensor INTEGER NOT NULL ,
Cost NUMBER ,
TipoSensor_IDS INTEGER NOT NULL ,
Precisao FLOAT ,
Infra_IDinf INTEGER NOT NULL
) ;
ALTER TABLE Sensor ADD CONSTRAINT Sensor_PK PRIMARY KEY (ID_sensor) ;
CREATE TABLE TypeCompany
(
IDE INTEGER NOT NULL ,
Name VARCHAR2 (64) ,
AreaService VARCHAR2 (64)
) ;
ALTER TABLE TypeCompany ADD CONSTRAINT TypeCompany_PK PRIMARY KEY (IDE) ;
基本的に私は必要なもののサービスエリア与えられたすべてのセンサーのリストを取得することです。問題は、サービスエリアが企業テーブルのタイプに属していることです。企業テーブルの1つはn個の関係にあるセンサ自体に結びついている多数の企業(1対n関係)を起点としています。
私の問題は、Natrual結合で2つのテーブルの間で選択を行うことができますが、私はそれらを得るようにローカル変数を使用してローカル変数を使用する必要があるかどうかわからないため、それは私が必要とする4つのテーブル(会社、会社、企業からセンサーとセンサーへと作成された弱い実体のタイプ、最終的なものは私が作る必要があるリスト)を関連付けるか、別の方法があるかどうかです。
編集:ここでは
は、すべてのテーブルに関連するモデルの印刷です:http://imgur.com/cWJQQEq
私が試してみて、私は再び必要なものを説明しましょう:私は必要なテーブルTypeCompanyから「AreaService」パラメータ与えられましたテーブルセンサからのすべての情報を一覧表示します。しかし私はそこに着く必要があるすべてのIDを保存する方法を知らない。私はジョインについて読んだことがありますが、実際にそれらを使用する方法や私の問題を解決する方法はわかりません。申し訳ありませんが、それは愚かな質問です。
なぜ社内テーブルの構造を含めなかったのですか?サンプルデータセットと、そのデータセットに関するクエリの予測結果を提供する場合は、クエリの作成を手助けする方がはるかに簡単です。 –
@ Yaron Idan申し訳ありませんが、私のテーブルはポルトガル人の名前で作成されています(私はポルトガル人です)。テーブルの名前を英語で編集しました。 –
私が言ったように、この例では、データセットとクエリ結果の例が多く役立ちます。他の2つのテーブルのいずれかに接続されているセンサーテーブルは、実際には表示されません。 –