AccessTr.neT

Tam Versiyon: Sqlite3 Tek Sorguda 2 Count Nasıl Kullanılır
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4
hocam örnek olarak

XXXXXXX1 verisi 2020-05-01 tarihinde 2 adet var ama 14 gösteriyor.

scadaSayi sütununda 1 değeri görmem lazım
scadaSayi2 sütununda 1 değeri görmem lazım

XXXXXXX2 verisi 2020-05-02 tarihinde 1 adet var ama 14 gösteriyor.

scadaSayi sütununda 1 değeri görmem lazım
scadaSayi2 sütununda 0 değeri görmem lazım

SELECT scadaDate, scadaB1, scadaB3, COUNT(scadaB3) AS scadaSayi
FROM spectrumAcmalari WHERE scadaReasonForOpening LIKE "%SABIT%"
GROUP BY scadaDate, scadaB1, scadaB3

SELECT scadaDate, scadaB1, scadaB3, COUNT(scadaB3) AS scadaSayi2
FROM spectrumAcmalari WHERE scadaReasonForOpening = "NULL"
GROUP BY scadaDate, scadaB1, scadaB3

yukarıdaki iki sorguyu tek sorgu yapmaya çalışıyorum.
alanları karıştırmışsınız galiba
count için kullandığınız kriter alanınız scadaReasonForOpening , oysa XXXXXXX1 verisi galiba scadaB3 alanında
(28/10/2022, 10:17)berduş yazdı: [ -> ]alanları karıştırmışsınız galiba
count için kullandığınız kriter alanınız scadaReasonForOpening , oysa XXXXXXX1 verisi galiba scadaB3 alanında

özür dilerim doğrudur

kriter alanı scadaReasonForOpening

group landırılan veri scadaB3
sorguyu aşağıdaki gibi düzenleyip dener misiniz?
aslında join kullanılabilirse o daha uygun olur gibi
SELECT a.scadaDate, a.scadaB1, scadaB3,
(SELECT COUNT(b.scadaB3) FROM spectrumAcmalari AS b WHERE b.scadaReasonForOpening LIKE '%SABIT%' and b.scadaB3=a.scadaB3) AS scadaSayi,
(SELECT COUNT(b.scadaB3) FROM spectrumAcmalari AS b WHERE b.scadaReasonForOpening = 'NULL' and b.scadaB3=a.scadaB3) AS scadaSayi2
FROM spectrumAcmalari AS a
GROUP BY a.scadaDate, a.scadaB1, scadaB3;

(28/10/2022, 07:45)footprinting yazdı: [ -> ]XXXXXXX1 verisi 2020-05-01 tarihinde 2 adet var
hangi alanda bu ben sadece 1 tane gördüm?
(28/10/2022, 10:27)berduş yazdı: [ -> ]sorguyu aşağıdaki gibi düzenleyip dener misiniz?
aslında join kullanılabilirse o daha uygun olur gibi
SELECT a.scadaDate, a.scadaB1, scadaB3,
(SELECT COUNT(b.scadaB3) FROM spectrumAcmalari AS b WHERE b.scadaReasonForOpening LIKE '%SABIT%' and b.scadaB3=a.scadaB3) AS scadaSayi,
(SELECT COUNT(b.scadaB3) FROM spectrumAcmalari AS b WHERE b.scadaReasonForOpening = 'NULL' and b.scadaB3=a.scadaB3) AS scadaSayi2
FROM spectrumAcmalari AS a
GROUP BY a.scadaDate, a.scadaB1, scadaB3;

(28/10/2022, 07:45)footprinting yazdı: [ -> ]XXXXXXX1 verisi 2020-05-01 tarihinde 2 adet var
hangi alanda bu ben sadece 1 tane gördüm?

scadaB3 alnında XXXXXXX1 2 adet var

scadaReasonForOpening bu alana uyguladığımız koşuldan dolayı SABIT e 1 - NULL da 1 görünmeli.

yukarıdaki sorguyu denedim sqlite yanıtvermiyor.
gifte görüleceği gibi bende çalıştı
Sayfalar: 1 2 3 4