SELECT
Bir 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 PALT
sadece bir olduğunu, INT
baştan tarihine kadar gün. Age
Ayrıca bir olan INT
gün sayısı.)
Tabloda her bir kişi, sahip oldukları görev sayısı ve LATE
sahip 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
, Tasks
veLate
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 JOIN
onlara katılmak için a'yı kullanmak da işe yarar ve şimdi select
bu şekilde birden çok s'ye nasıl katılacağımı anlıyorum