2012-03-29 19 views
1

我试图创建一个select命令来查询我拥有的数据库,并从数据库的不同表中找到不同的值。SELECT COMMAND SQL多于1的值

+1

这是功课? – 2012-03-29 11:59:22

+0

这些表上的所有列是什么? – Lamak 2012-03-29 12:01:17

+0

这是我试过的: SELECT Movie.title,Movie.year,Actor.firstName,Actor.lastName,Role.roleName从Movie,Actor,Role WHERE quoteID ='休斯顿,我们有一个问题。 / – user1300580 2012-03-29 12:09:06

回答

3

试试下面,我改变所有的ID列从CHAR到NUMBER

CREATE TABLE Actor 
(actorID NUMBER, 
lastName CHAR(24), 
firstName CHAR(24), 
middleName CHAR(24), 
suffix CHAR(6), 
gender CHAR(1), 
birthDate DATE, 
deathDate DATE) 
/

CREATE TABLE Movie 
(movieID NUMBER, 
title CHAR(36), 
year NUMBER, 
company CHAR(50), 
totalNoms NUMBER, 
awardsWon NUMBER, 
DVDPrice NUMBER(5,2), 
discountPrice NUMBER(5,2)) 
/

CREATE TABLE Role 
(roleID NUMER, 
roleName CHAR(36), 
gender CHAR(1), 
actorID NUMBER, 
movieID NUMBER) 
/

CREATE TABLE Quote 
(quoteID NUMBER, 
quoteCHAR CHAR(255)) 
/

CREATE TABLE RoleQuote 
(roleID NUMBER, 
quoteID NUMBER) 
/

,并选择将是:

SELECT Movie.Title , Movie.Year , Actor.Firstname, Actor.lastname, Role.roleName, Quote.quoteCHAR 
FROM Movie, Actor, Role, Quote, RoleQuote 
WHERE Movie.movieID = Role.movieId AND 
    Actor.actorID = Role.ActorId AND 
    Role.roleID = RoleQuote.roleID AND 
    Quote.quoteID = RoleQuote.quoteID AND 
    Quote.quoteCHAR LIKE '%Houston, we have a problem.%' 
+4

我希望学校教授INNER现在加入语法。毕竟,这是2012年。 – 2012-03-29 12:08:51

+0

林不知道这是如何工作的,请你澄清 – user1300580 2012-03-29 13:07:53

+0

这是我一直在努力,不知道如果它的关闭,但从我所知道的,我相信它是没有必要添加您建议的两个表: SELECT Movie.title,Movie.year,Actor.firstName,Actor.lastName,Role.roleName FROM Movie,Actor,Role WHERE Quote.quoteCHAR ='Houston,we have a problem。'; / – user1300580 2012-03-29 13:30:27