SELECTBir ifadede 2 sql ifadesinin sonuçlarına katılmak mümkün müdür ? Bir süreler her kayıt ayrı bir iştir görevlerin veri tabanına sahip (ve bir PALTsadece bir olduğunu, INTbaştan tarihine kadar gün. AgeAyrıca bir olan INTgün sayısı.)
Tabloda her bir kişi, sahip oldukları görev sayısı ve LATEsahip oldukları görev sayısı (varsa) olan bir tablo istiyorum .
Bu verileri ayrı tablolarda kolayca alabilirsiniz, şöyle:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
gibi veri döndürme:
ks # Tasks
person1 7
person2 3
ve sonra bende:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
döndüren:
ks # Late
person1 1
person2 1
Ve bu iki sonuçlarını katılmak istiyorum select(açıklamalarına KS)
Bir geçici tablo kullanmaktan kaçınmaya çalışıyorum, ancak bunu yapmanın tek pratik yolu ise, bu şekilde geçici tabloları kullanma hakkında daha fazla bilgi edinmek istiyorum.
Ayrıca count()bir şartı yerine getiren bir tür satır yapmaya çalıştım , ama bunu nasıl yapacağımı da anlayamadım. Mümkünse, bu da işe yarardı.
Ek: Üzgünüm, benim sonuçlar sütunları için sahip olmak istiyorum KS, TasksveLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Ek olarak, bir kişinin geç görevleri olmasa bile görünmesini istiyorum.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
iyi çalışıyor, bu cevap için teşekkürler!
İki select deyimi de çalışır, LEFT JOINonlara katılmak için a'yı kullanmak da işe yarar ve şimdi selectbu şekilde birden çok s'ye nasıl katılacağımı anlıyorum