2016-07-28 83 views
0

大家好我正在使用Oracle數據庫使用Oracle 10g。我有2個表 汽車和擁有。如何從值取決於另一個表的表中獲取值?

Create Table Car(
"license" varchar(255) not null primary key, 
"year" varchar(255), 
"model" varchar(255) 
); 

我插入這些值

insert into Car values('12-3000', '2012', 'Axio'); 
insert into Car values('11-3000', '2008', 'Corolla'); 
insert into Car values('12-4000', '2013', 'Axio'); 
insert into Car values('12-5000', '2013', 'Premio'); 
insert into Car values('11-5000', '2010', 'Nano'); 
insert into Car values('11-6000', '2011', 'Alto'); 
insert into Car values('12-6000', '2015', 'Nano Twist'); 

這是擁有表

Create Table Owns (
"nid" varchar(20) not null, 
"license" varchar(255), 
primary key("nid", "license") 
); 

而且我插入這些值

insert into Owns values('123451', '11-3000'); 
insert into Owns values('123452', '12-4000'); 
insert into Owns values('123453', '12-5000'); 
insert into Owns values('123454', '11-5000'); 
insert into Owns values('123455', '11-6000'); 
insert into Owns values('123456', '12-6000'); 
insert into Owns values('123457', '12-3000'); 

現在我需要找到身份證( nid)那些擁有「Axio」的人楷模。 如何編寫該查詢? 它可能是這種...

select "nid" from Owns where "license" = (select "license" from Car where "model" = 'Axio'); 

在此先感謝。

回答

1

嘗試此,

(從汽車選擇 「許可證」,其中 「模式」= 'Axio上')選擇 「NID」 從擁有發生 「許可證」 IN;

您可以嘗試使用連接,以及...

+0

非常感謝你,它的工作。 –

+0

'選擇nn從所有權左加入車上Owns.license = Car.license其中model ='Axio';' - 這一個也適用。檢查查詢速度並使用最好的一個。 – Naga

相關問題