重複の可能性:
MySQL SELECT は 1 つのテーブルから結果を取得しますが、別のテーブルに応じて結果を除外しますか?
すでに答えられていることを尋ねていないことを願っています..見たことがない. 簡単に思えますが、私はそれを機能させることができません。
Unit と Lease の 2 つのテーブルがあります。
enddate フィールドに null があるリース テーブルのユニットを除く、ユニット テーブルのすべてのオープン ユニット (建物とユニット ユニット番号) のリストが必要です。
テーブルの構造 (この例では必要のない他のフィールドを削除しました:
CREATE TABLE Unit(
UnitKey Int NOT NULL AUTO_INCREMENT,
UnitNumber Char(5) NOT NULL,
BuildingKey Int NOT NULL,
CONSTRAINT UNIT_PK PRIMARY KEY(UnitKey),
CONSTRAINT UNIT_BLDG_FK FOREIGN KEY(BuildingKey)
REFERENCES Building(BuildingKey));
CREATE TABLE Lease(
LeaseKey Int NOT NULL AUTO_INCREMENT,
UnitKey Int NOT NULL,
EndDate Date NULL,
CONSTRAINT LEASE_PK PRIMARY KEY(LeaseKey),
CONSTRAINT LEASE_UNIT_FK FOREIGN KEY(UnitKey) REFERENCES Unit(UnitKey));