Apakah mungkin untuk menggabungkan hasil dari 2 SELECTpernyataan sql dalam satu pernyataan? Saya memiliki basis data tugas di mana setiap catatan adalah tugas yang terpisah, dengan tenggat waktu (dan PALT, yang hanya beberapa INThari dari awal hingga tenggat waktu. AgeJuga merupakan INTbeberapa hari.)
Saya ingin memiliki tabel yang memiliki masing-masing orang dalam tabel, jumlah tugas yang mereka miliki, dan jumlah LATEtugas yang mereka miliki (jika ada.)
Saya bisa mendapatkan data ini dalam tabel terpisah dengan mudah, seperti:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
mengembalikan data seperti:
ks # Tasks
person1 7
person2 3
dan kemudian saya memiliki:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
yang mengembalikan:
ks # Late
person1 1
person2 1
Dan saya ingin bergabung dengan hasil dari dua selectpernyataan ini (oleh KS)
Saya mencoba untuk menghindari menggunakan tabel temp, tetapi jika itu satu-satunya cara praktis untuk melakukan ini, saya ingin tahu lebih banyak tentang menggunakan tabel temp dalam mode ini.
Saya juga mencoba melakukan beberapa count()baris yang memenuhi syarat, tetapi saya juga tidak tahu bagaimana melakukannya. Jika mungkin, itu akan berhasil juga.
Addendum: Maaf, saya ingin hasil saya memiliki kolom untuk KS, Tasks, danLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Selain itu, saya ingin seseorang muncul bahkan jika mereka tidak memiliki tugas terlambat.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
berfungsi dengan baik, terima kasih atas jawaban ini!
Dua pernyataan pilih juga berfungsi, menggunakan a LEFT JOINuntuk bergabung juga berfungsi, dan saya mengerti sekarang bagaimana cara menggabungkan beberapa selects dengan cara ini