Mssql Sorgu yardım alanlardaki metni saydırma

Katılım
17 Ocak 2006
Mesajlar
241
Excel Vers. ve Dili
excel xp türkçe
merhaba arkadaşlar


konuyu açıp yardım alacağım yer burasımı bilmiyorum ama

benim mssqlde bir sorunum var.

yazmış olduğum program için rapor almam gerekiyor

konuyu anlatayım size

benim bir tane tablom var. (tablo name.:Tb_Shift)
personelname personel alanı
bu tablomda
tarih1,tarih2,tarih3,tarih4,tarih5,tarih6,tarih7 tarih alanım var. ve ayriyeten (haftalık veri girişi var.
tarih1Aciklama,tarih2Aciklama,tarih3Aciklama,tarih4Aciklama,tarih5Aciklama,tarih6Aciklama,tarih7Aciklama metinsel değer girecek fields alanlarım var. haftalık tarihe göre FULL ve OF değerleri giriliyor.

benim amacım 01/02/2010 - 28/02/2010 tarihleri arası (tarih1,tarih2,tarih3,tarih4,tarih5,tarih6,tarih7 arası)

tarih1Aciklama,tarih2Aciklama,tarih3Aciklama,tarih4Aciklama,tarih5Aciklama,tarih6Aciklama,tarih7Aciklama alanlarındaki FULL toplamını almak istiyorum.

biraz karışık ama

aklıma
select distinct personeladi,count(*) from tb_shift
where
tarih1>='01/02/2010' and
tarih2<='28/02/2010' and
tarih3<='28/02/2010' and
tarih4<='28/02/2010' and
tarih5<='28/02/2010' and
tarih6<='28/02/2010' and
tarih7<='28/02/2010' and
personeladi='YASİN ATAY' and
magazaadi='Beylikdüzü Migros' and
tarih1aciklama='FULL' and
tarih2aciklama='FULL' ...
group by personeladi

sorgu geldi ama bir yerde hata yapıyorum.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

MySQL de tarih formatı varsayılan olarak yyyy-aa-gg şeklindedir.. Sorgunuzu bu biçime uygun düzenleyip denemenizi öneririm.. Ayrıca between fonksiyonundan da faydalanabilirseniz..
 
Katılım
17 Ocak 2006
Mesajlar
241
Excel Vers. ve Dili
excel xp türkçe
bu sorguda
select count(*) as Say from tb_shift where tarih1 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih1aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih2 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih2aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih3 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih3aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih4 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih4aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih5 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih5aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih6 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih6aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih7 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih7aciklama='FULL'

Say
-----------
2
0
1
0
0
4
4

değeri çıkıyor ama

sayları nasıl toplarım

bu konuda bir fikriniz varmı
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Bu sorguyu iç sorgu olarak alıp veya ayrı sorgu olarak kaydedip say alanını saydırmayı deneyebilirsiniz..
 
Katılım
17 Ocak 2006
Mesajlar
241
Excel Vers. ve Dili
excel xp türkçe
nasıl olacak peki

nasıl olacağını bilmiyorum...

siz biliyorsanız gösterirmisiniz?
 
Katılım
17 Ocak 2006
Mesajlar
241
Excel Vers. ve Dili
excel xp türkçe
nasıl olacak peki...

bi zahmet gösterirmisiniz?
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Kod:
select sum(say) from (select count(*) as Say from tb_shift where tarih1 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih1aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih2 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih2aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih3 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih3aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih4 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih4aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih5 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih5aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih6 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih6aciklama='FULL' union all
select count(*) as Say from tb_shift where tarih7 between '01/02/2010' and '28/02/2010' and personeladi='NURHAN AKSOY' and tarih7aciklama='FULL' ) as trz
Bu şekilde dener misiniz?
 
Katılım
17 Ocak 2006
Mesajlar
241
Excel Vers. ve Dili
excel xp türkçe
slm taruz

çok tşk ederim. bana ne kadar büyük bir yardımda bulunduğunun anlatamam size...

yalnız insaların istekleri bitmiyor. tablomda unvan kısımları var. sıralamayı aşağıda belirtiyorum.

MagazalarMuduru
MagazaMuduru
MagazaMudurYardimcisi
MagazaSefi
KasaSefi
KasaSorumlusu
SatisDanismani
DepoElemani
TemizlikElemani
DepoTemizlikElemani

Genel unvan sıralaması ve unvan sıralmasında isim sıralamasına görede 1 2 3 4 5 şeklinde numerik sıralama istiyorlar.

çok oluyorum ama bu konuda da yardımınıza ihtiyacım var.
 
Üst