私は4つのテーブル:t1、t2、t3、t4を持っています。 t1.event_id、t1.event_nameを表示する必要があります.t1.event_idは、3つのテーブルのうち2つ(t2、t3、t4)にしか存在しません。私はjoinを使用しようとしますが、私ができることはすべてのテーブルに存在するevent_idsを返すことだけです。どのようにデータが3つのテーブルのうちの2つに存在するという条件で4つのテーブルを結合できますか
ここにはDDL.sqlがあります。
CREATE TABLE t1
(event_id NUMBER(15) NOT NULL,
event_name VARCHAR2(80),
CONSTRAINT pk_event PRIMARY KEY (event_id));
CREATE TABLE t2
(eid NUMBER(15) NOT NULL,
equipment VARCHAR2(100),
CONSTRAINT fk_eid2 FOREIGN KEY (eid)
REFERENCES t1 (event_id) ON DELETE CASCADE);
CREATE TABLE t3
(eid NUMBER(15) NOT NULL,
security VARCHAR2(100),
CONSTRAINT fk_eid3 FOREIGN KEY (eid)
REFERENCES t1 (event_id) ON DELETE CASCADE);
CREATE TABLE t4
(eid NUMBER(15) NOT NULL,
setup_by TIMESTAMP,
CONSTRAINT fk_eid4 FOREIGN KEY (eid)
REFERENCES t1 (event_id) ON DELETE CASCADE);
3つのテーブルのうち正確に2つが必要ですか?あるいは、それがt2のみに存在するが、t3またはt4も有効でない場合があるか? – Doug