Se référer à ce document http://sqlfiddle.com/#!18/8fe2a/13
J'ai des tables
CREATE TABLE Figure(
MonthNumber varchar(10),
Code varchar(10),
Figure int
);
INSERT INTO Figure (MonthNumber, Code, Figure)
VALUES ('5', 'S', '25'),
('5','G', '30');
CREATE TABLE Other(
MonthNumber varchar(10),
Code varchar(10),
Figure int
);
INSERT INTO Other (MonthNumber, Code, Figure)
VALUES ('5', 'S', '25'),
('5','G', '30'),
('4','K', '40'),
('3','D', '20'),
('2','J', '25');
Requête :
SELECT * FROM
Figure f1
RIGHT JOIN
Other O
ON F1.[Code] = O.[Code]
OR
o.[MonthNumber] = MONTH(GETDATE())-1
WHERE f1.[MonthNumber] = MONTH(GETDATE())
Résultat :
| MonthNumber | Code | Figure | MonthNumber | Code | Figure |
|-------------|------|--------|-------------|------|--------|
| 5 | S | 25 | 5 | S | 25 |
| 5 | S | 25 | 4 | K | 40 |
| 5 | G | 30 | 5 | G | 30 |
| 5 | G | 30 | 4 | K | 40 |
Cependant, je cherche à obtenir les résultats de ce mois-ci, mais aussi à inclure les personnes qui ont pu avoir un chiffre pour les mois précédents, mais pas pour ce mois-ci.
Résultat souhaité :
| MonthNumber | Code | Figure |
|-------------|------|--------|
| 5 | S | 25 |
| 5 | G | 25 |
| 5 | K | 0 |
| 5 | D | 0 |
| 5 | J | 0 |
Je n'arrive pas à savoir ce dont j'ai besoin au niveau de la jonction. Toute aide serait appréciée.