休止

2016-08-13 9 views
0

でSQLクエリからテーブルを作成します。私は、このSQLクエリを単一のテーブルcollaboratorに参加したい3つのテーブルがあります。休止

select * from (
select user.id, Project.id, Task.id 
inner join Project on user.join_key = Project.join_key 
inner join Task on task.join_key = = Project.join_key 
) collaborator 

を私はどのように見つけることができないようです。 私もこれを使用できます:

CREATE TABLE Collaborator AS 
SELECT user.id, Project.id, Task.id 
FROM Project p, Task t, User u 
inner join Project on user.join_key = Project.join_key 
inner join Task on task.join_key = = Project.join_key. 

助けていただければ幸いです。おかげ

答えて

1

まずテーブルを作成

コラボレーター

CREATE TABLE `Collaborator` (
    `USER_id` int(11), 
`PROJECT_id` int(11), 
`TASK_id` int(11) 
) ENGINE=InnoDB 

そしてexcecute挿入

INSERT INTO Collaborator 
SELECT user.id, Project.id, Task.id 
FROM Project p, Task t, User u 
inner join Project on user.join_key = Project.join_key 
inner join Task on task.join_key = = Project.join_key 
+0

は、私が示唆している唯一のことは、明示的に挿入時にこのような怠惰なスタイルを列を識別することです表の列が変更された場合や選択された列に変更があった場合に問題が発生する可能性があります。コラボレータ(User_id、Project_id、Task_id)にINSERT INTO – Matt