group byを使用して複数のテーブルから同じ日付の行のカウントをゲートしようとしていますが、結果の行に重複した日付が表示されます。私は日付の列から日付を削除する時間だけを表示するように日付形式を変更しました。私が正しく理解している場合、あなたは、単一のCOUNTS
のFULL OUTER JOIN
必要両方のテーブルに値をカウントするので、グループを使用してグループ化された列の重複する日付
SELECT
userprofiles."date",
COUNT(userprofiles."date") AS NumberofRegistration,
COUNT(CallScheduleTableFB."Date") AS NumberofCalls
FROM userprofiles LEFT JOIN CallScheduleTableFB ON userprofiles."date" = CallScheduleTableFB."Date"
GROUP BY userprofiles."date"
UNION
SELECT
CallScheduleTableFB."Date",
COUNT(userprofiles."date") AS NumberofRegistration,
COUNT(CallScheduleTableFB."Date") AS NumberofCalls
FROM userprofiles RIGHT JOIN CallScheduleTableFB ON userprofiles."date" = CallScheduleTableFB."Date"
GROUP BY CallScheduleTableFB."Date"
EDIT 後は、出力
userprofiles.date |NumberofRegistration |NumberofCalls
27/07/2016 |1 |0
28/07/2016 |0 |1
28/07/2016 |0 |1
28/07/2016 |0 |1
28/07/2016 |0 |1
30/07/2016 |0 |1
30/07/2016 |0 |1
03/08/2016 |1 |0
03/08/2016 |1 |0
03/08/2016 |0 |1
03/08/2016 |0 |1
あなたは、出力データを提供することができますか? – Razzka
サブクエリを使用し、すべてのコードをサブクエリに入れてから再度グループ化する必要があります。 –
UNION演算子が原因です。とにかく、なぜ2つのCOUNT()がありますか? – Sach