Please click here for sample tables and description.groupe SQL par requête avec JOIN
J'ai trois 'PROJETS tables, 'projectmanager' et MANAGERS » selon les images jointes.
J'ai besoin d'une requête qui peut répertorier les PROJETS gérés par les gestionnaires de type "PRODUCT" regroupés avec PROJECT STATUS. Si STATUS = 2, afficher en tant que projets terminés ou projets en cours.
La table obtenue doit ressembler à l'image ci-jointe. Résultat souhaité: http://www.dbasupport.com/forums/attachment.php?attachmentid=588&d=1336691473
La requête, j'ai besoin devrait être générique afin qu'il puisse être utilisé dans une base de données (MySQL/Oracle/MSSQL/DB2)
S'il vous plaît aider.
BTW, Ce n'est pas le devoir ... !!!! J'ai utilisé des tables d'échantillons.
J'ai essayé avec cas quand des instructions mais ne savez pas comment joindre et en même temps utiliser le groupe par.
CREATE TABLE PROJECTS
(
PROJECT_ID varchar(20),
PROJECT_NAME varchar(30),
STATUS int
);
CREATE TABLE PROJECTMANAGER
(
PROJECT_ID varchar(20),
MANAGER_ID varchar(20)
);
CREATE TABLE MANAGERS
(
MANAGER_ID varchar(20),
MANAGER_NAME varchar(20),
TYPE varchar(20)
);
INSERT INTO PROJECTS (PROJECT_ID, PROJECT_NAME, STATUS) VALUES
('project_001', 'Project 001', 0),
('project_002', 'Project 002', 1),
('project_003', 'Project 003', 2),
('project_004', 'Project 004', 0),
('project_005', 'Project 005', 2),
('project_006', 'Project 006', 0),
('project_007', 'Project 007', 1);
INSERT INTO PROJECTMANAGER (PROJECT_ID , MANAGER_ID) VALUES
('project_001', 'mgr_001'),
('project_002', 'mgr_001'),
('project_001', 'mgr_002'),
('project_002', 'mgr_003'),
('project_001', 'mgr_003'),
('project_005', 'mgr_001'),
('project_004', 'mgr_002');
INSERT INTO MANAGERS (MANAGER_ID, MANAGER_NAME, TYPE) VALUES
('mgr_001', 'Manager 001', 'PRODUCT'),
('mgr_002', 'Manager 002', 'HR'),
('mgr_003', 'Manager 003', 'PRODUCT'),
('mgr_004', 'Manager 004', 'FINANCE'),
('mgr_005', 'Manager 005', 'PRODUCT');
Resulted Table:
MANAGER_ID | MANAGER _NAME | COMPLETED_PROJECTS | IN_PROGRESS_PROJECTS |
mgr_001 | Manager 001 | 1 | 2 |
mgr_003 | Manager 003 | 0 | 1 |
mgr_005 | Manager 005 | 0 | 0 |
Avez-vous essayé un ything? –