私はこのクエリを持っており、テーブルTiempo
に一致する行があるとうまくいきます。テーブルのクエリ:複雑な結合
問題は、私は本当に見て必要なものをあまりにもUsuario
にも存在するTiempo
で無一致する行が、ということです。
SELECT u.Id, t.empleado, CAST(MONTH(t.fecha) AS VARCHAR(2)) AS MonthNumber, CAST(YEAR(t.fecha) AS VARCHAR(4)) AS YearNumber, SUM(t.horas) AS Horas
FROM Usuario u
INNER JOIN Tiempo t ON u.username = t.empleado
WHERE fecha >= '2016-08-01' and fecha <= '2016-08-31'
GROUP BY u.id, t.empleado, CAST(MONTH(t.fecha) AS VARCHAR(2)), CAST(YEAR(t.fecha) AS VARCHAR(4))
これが出力されます:
Id empleado MonthNumber YearNumber Horas
86 username1 8 2016 96
95 username2 8 2016 80
99 username3 8 2016 47
102 username4 8 2016 85
そして、これは私が探しているものです:
Id empleado MonthNumber YearNumber Horas
86 username1 8 2016 96
95 username2 8 2016 80
99 username3 8 2016 47
102 username4 8 2016 85
102 username5 8 2016 null (or 0)
EDIT:サンプルデータ:download
インナー左で参加リンクは時間をかけて破ることができるようあなたは、あなたの実際の質問にサンプルデータが含まれている必要があり – Sami
参加交換してください。今のところ、以下の答えのどれかがあなたの問題を少なくとも部分的に修正していない理由は明確ではありません。 –
@Sami、それは目標を達成しないだろう、スティルは同じ結果を得る。テストのための完全なセットを提供するサンプルデータリンクを確認してください。 –