创建一个视图,将来自其他表的多个单元格的数据连接到一个oracle sql中
我需要创建一个视图,将两个表(game和developer)组合在一起,从game表中选择gameID gameName和gameDeveloper,并将gameDeveloper与firstname和lastname(来自developers表)重新放置到一列中。gameDeveloper与developerID相同,但它还不是一个外键。我只想从包含匹配developerID的行中选择firstname和lastname,并将它们合并到新视图的一列中。以下是我所拥有的:创建一个视图,将来自其他表的多个单元格的数据连接到一个oracle sql中,sql,oracle,join,view,Sql,Oracle,Join,View,我需要创建一个视图,将两个表(game和developer)组合在一起,从game表中选择gameID gameName和gameDeveloper,并将gameDeveloper与firstname和lastname(来自developers表)重新放置到一列中。gameDeveloper与developerID相同,但它还不是一个外键。我只想从包含匹配developerID的行中选择firstname和lastname,并将它们合并到新视图的一列中。以下是我所拥有的: CREATE TABL
CREATE TABLE game (
gameID varchar(3) PRIMARY KEY NOT NULL,
gamenameName varchar(30) NOT NULL,
gameDeveloper varchar(3) NOT NULL
);
INSERT INTO game VALUES (1,'RDR2',2);
INSERT INTO game VALUES (2,'GTAV',7);
INSERT INTO game VALUES (3,'PUBG',9);
/
CREATE TABLE developers (
developerID varchar(3) PRIMARY KEY NOT
NULL,
fname varchar(20) NOT NULL,
lname varchar(20) NOT NULL,
gameID varchar(3) NOT NULL,
CONSTRAINT fk_game
FOREIGN KEY (gameID)
REFERENCES game (GameID)
);
INSERT INTO developers VALUES
(1,'Patrick','Kane',1);
INSERT INTO developers VALUES
(2,'Jonathan','Toews',1);
INSERT INTO developers VALUES
(3,'Alex','Debrincat',1);
INSERT INTO developers VALUES
(4,'Andrew','Shaw',2);
INSERT INTO developers VALUES
(5,'Alex','Nylander',2);
INSERT INTO developers VALUES
(6,'Oli','Maata',2);
INSERT INTO developers VALUES
(7,'Calvin','DeHaan',2);
INSERT INTO developers VALUES
(8,'Brandon','Saad',3);
INSERT INTO developers VALUES
(9,'Corey','Crawford',3);
INSERT INTO developers VALUES
(10,'Connor','Murphy',3);
/
CREATE OR REPLACE VIEW chairs AS
SELECT firstname, lastname
FROM developer
INNER JOIN
我希望最后一个表格与映射和合并的最后一个单元格类似,但我实在不知道该怎么办。。我觉得内部连接最好
您可以这样做-
JOIN
等同于内部连接
,但您可以是显式的
CREATE VIEW chairs
AS
SELECT
g.gameID
,g.gamenameName
,d.fname + ' ' + lname AS gameDeveloper
FROM game g
JOIN developers d
ON g.gameDeveloper = d. developerID
您可以这样做-
JOIN
相当于internaljoin
,但您可以是显式的
CREATE VIEW chairs
AS
SELECT
g.gameID
,g.gamenameName
,d.fname + ' ' + lname AS gameDeveloper
FROM game g
JOIN developers d
ON g.gameDeveloper = d. developerID