Saya mencoba menyelesaikan pelaporan untuk catatan waktu karyawan.
Kami memiliki dua tabel khusus untuk pertanyaan ini. Karyawan tercantum dalam Members
tabel dan setiap hari mereka memasukkan entri waktu dari pekerjaan yang telah mereka lakukan dan disimpan dalam Time_Entry
tabel.
Contoh pengaturan dengan SQL Fiddle: http://sqlfiddle.com/#!3/e3806/7
Hasil akhir yang saya tuju adalah tabel yang menunjukkan SEMUA di Members
dalam daftar kolom dan kemudian akan menampilkan jumlah jam mereka untuk tanggal yang ditanyakan di kolom lainnya.
Masalahnya adalah bahwa jika tidak ada baris dalam Time_Entry
tabel untuk anggota tertentu, sekarang ada baris untuk anggota tersebut. Saya sudah mencoba beberapa tipe gabungan yang berbeda (Kiri, Kanan, Dalam, Luar, Luar Penuh, dll.) Tetapi sepertinya tidak ada yang memberi saya apa yang saya inginkan, yang akan menjadi (berdasarkan contoh terakhir dalam SQL Fiddle):
/*** Desired End Result ***/
Member_ID | COUNTTime_Entry | TIMEENTRYDATE | SUMHOURS_ACTUAL | SUMHOURS_BILL
ADavis | 0 | 11-10-2013 | 0 | 0
BTronton | 0 | 11-10-2013 | 0 | 0
CJones | 0 | 11-10-2013 | 0 | 0
DSmith | 0 | 11-10-2013 | 0 | 0
EGirsch | 1 | 11-10-2013 | 0.92 | 1
FRowden | 0 | 11-10-2013 | 0 | 0
Apa yang saya dapatkan saat saya meminta tanggal tertentu 11-1:
Member_ID | COUNTTime_Entry | TIMEENTRYDATE | SUMHOURS_ACTUAL | SUMHOURS_BILL
EGirsch | 1 | 11-10-2013 | 0.92 | 1
Yang benar berdasarkan pada satu baris Entri Waktu yang bertanggal 11-10-2013 untuk EGirsch, tetapi saya perlu melihat nol untuk anggota lain untuk mendapatkan laporan dan akhirnya dasbor web / laporan untuk informasi ini.
Ini adalah pertanyaan pertama saya, dan sementara saya mencari pertanyaan Gabung, dll. Saya jujur tidak yakin apa fungsi ini dipanggil, jadi saya harap ini bukan duplikat dan akan membantu orang lain juga mencoba mencari solusi untuk masalah serupa.
WHERE
danAND
. Awalnya saya menggunakan alias, tetapi sqlfiddle sepertinya tidak menyukainya, jadi saya hanya memformat penuh. Terima kasih untuk tips SQL lainnya juga. Apakah Anda merekomendasikanISNULL
atauCOALESCE
membuat data sebagai ganti 0NULL
? Terima kasih lagi!