Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个视图,将来自其他表的多个单元格的数据连接到一个oracle sql中_Sql_Oracle_Join_View - Fatal编程技术网

创建一个视图,将来自其他表的多个单元格的数据连接到一个oracle sql中

创建一个视图,将来自其他表的多个单元格的数据连接到一个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

我需要创建一个视图,将两个表(game和developer)组合在一起,从game表中选择gameID gameName和gameDeveloper,并将gameDeveloper与firstname和lastname(来自developers表)重新放置到一列中。gameDeveloper与developerID相同,但它还不是一个外键。我只想从包含匹配developerID的行中选择firstname和lastname,并将它们合并到新视图的一列中。以下是我所拥有的:

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