Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
03/12/2009 16:07
Konu Sahibi
kadirdursun
Yorumlar
7
Okunma
2277
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

kadirdursun

Aktif Üye
Aktif Üye*
KA.... DU....
 38
 1.291
 104
 12/01/2009
86
 İstanbul
 İnşaat Mühendisi
 Ofis 2010 32 Bit
 19/01/2018,15:01
Çözüldü 
Arkadaşlar bir konuda yardıma ihtiyacım var. Her zaman olduğu gibi 
Şimdi dışarıdan txt ye bağladığım iki tablom var (CEZA ve EK tabloları). Bu tablolarla aynı isimde tablo yapma sorgusu (S_CEZA ve S_EK sorguları) ile oluşturduğum iki ayrı tablom (T_CEZA ve T_EK tabloları) daha var. Bu tablolara sorgu ile bir alan ekledim.
Personelin yaptığı iki ayrı işe ait tablolar olan, T_CEZA tablosundaki PERSONELKODU alanı ile T_EK tablosundaki PERSONELKODU alanı, T_PERSONEL tablosundaki USERSICIL alanı ile aynı bilgileri içeriyor. Bir başka değişle ortak alan PERSONELKODU ve USERSICIL alanları.
Sorum şu:
Örnek olarak; T_EK tablosunda Bağcılar şubesinde toplam 6 personel iş yapmış, T_CEZA tablosunda Bağcılar şubesinden 2 personel iş yapmış. Sorgu2 çalıştırılınca yalnızca ortak olan personeller gözüküyor geri kalan 4 personel gözükmüyor. Tüm personelleri görmek için nasıl bir kod yazılmalı?
Bu sorunu şimdi işin başındayken çözmem lazım. Çünkü İlerleyen zamanlarda daha bir çok tabloyu böyle birleştirmem gerekecek.

şimdiden teşekkür ederim...


Ek Dosyalar
.rar   Kopyası Personel Sayısı.rar(Dosya Boyutu: 184,97 KB / İndirme Sayısı: 1)
Hayat bu
ölsende yaşamaya mecbursun!
UNUTMA!!!



(hafta sonu mesai olmadığından mesajlardaki çözümleri ancak hafta içi uygulayabiliyorum)

Kullanici Avatari

Seruz

Uzman
Uzman
SE.... UZ....
 47
 1.562
 7
 30/10/2008
814
 Tekirdağ
 BT Şefi
 Ofis XP
 Dün,08:38
Çözüldü 
Alıntı:Örnek olarak; T_EK tablosunda Bağcılar şubesinde toplam 6 personel iş yapmış, T_CEZA tablosunda Bağcılar şubesinden 2 personel iş yapmış. Sorgu2 çalıştırılınca yalnızca ortak olan personeller gözüküyor geri kalan 4 personel gözükmüyor. Tüm personelleri görmek için nasıl bir kod yazılmalı?

T_EK ve T_CEZA tablolarından, anladığım kadarıyla sanırım toplamları görmek istiyorsun.

Ceza ve Ek tabloları için personel bazında 2 ayrı sorgu yaptım. (Sorgu_Ceza, Sorgu_Ek)

Sonra bu sorguları ve Personel tablosunu kullanan bir sorgu ile istediğiniz işlemi gerçekleştirdim. (Sorgu_Personel) Burada tablolar arasındaki bağlantı çizgisini çift tıklayarak bağlantı yönünü değiştirdim. Bu sayede bir personelin Ceza ve Ek sorgusunda kaydı olsa da olmasa da getirmesini sağladım.
Tüm personelin listesini değilde, sadece Ceza veya Ek tablosunda işlem görmüş olanları listelettirdim.

Farklı şekillerde tek sorgu ile de yapılabilir ama en basit hali bu.

İnceleyip, mantığı anlarsanız istediğiniz gibi değiştirebilirsiniz.


Ek Dosyalar
.rar   Personel_Sayisi_Seruz.rar(Dosya Boyutu: 186,83 KB / İndirme Sayısı: 13)
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs

Kullanici Avatari

assenucler

Aktif Üye
Aktif Üye*
A..... SE.... ŞE....
 2.056
 125
 31/10/2008
63
 İstanbul
 
 -
 13/08/2018,19:49
Çözüldü 
Teşekkür hocam...



Kullanici Avatari

kadirdursun

Aktif Üye
Aktif Üye*
KA.... DU....
 38
 1.291
 104
 12/01/2009
86
 İstanbul
 İnşaat Mühendisi
 Ofis 2010 32 Bit
 19/01/2018,15:01
Çözüldü 
sayın Seruz Hocam;
yardımınız için teşekkür ederim. gerçekten başı sıkışanların yardımcısı bir foruma üyeyiz...
sayın Seruz;
sorguyu kendim yeniden oluşturmaya çalışıyorum ama problem var.
yine 2 kayıt gözüküyor.

NZ([Ceza_Sayisi];0)+nz([Ek_Sayisi];0)
kısmını yazıyorum alandan çıkınca
İfade1: NZ([Ceza_Sayisi];0)+nz([Ek_Sayisi];0)
haline geliyor. acaba neden oluyor?

---------------
sizin sorgudaki Sql ifadeniz
SELECT T_PERSONEL.USERSICIL, T_PERSONEL.MUDURLUK, NZ([Ceza_Sayisi],0) AS Ceza, nz([Ek_Sayisi],0) AS Ek
FROM (T_PERSONEL LEFT JOIN Sorgu_Ceza ON T_PERSONEL.USERSICIL = Sorgu_Ceza.PERSONELKODU) LEFT JOIN Sorgu_Ek ON T_PERSONEL.USERSICIL = Sorgu_Ek.PERSONELKODU
WHERE (((T_PERSONEL.MUDURLUK) Like "BAĞCILAR*") AND ((NZ([Ceza_Sayisi],0)+nz([Ek_Sayisi],0))>0))
ORDER BY T_PERSONEL.USERSICIL;


benim oluşturduğum sorguda ise
SELECT T_PERSONEL.USERSICIL, T_PERSONEL.MUDURLUK, nz([Ceza_Sayisi],0) AS Ceza, nz([Ek_Sayisi],0) AS Ek
FROM (T_PERSONEL INNER JOIN Sorgu_Ek ON T_PERSONEL.USERSICIL = Sorgu_Ek.PERSONELKODU) INNER JOIN Sorgu_Ceza ON T_PERSONEL.USERSICIL = Sorgu_Ceza.PERSONELKODU
WHERE (((T_PERSONEL.MUDURLUK) Like "BAĞCILAR*"));



T_PERSONEL LEFT JOIN
T_PERSONEL INNER JOIN
bu iki ifade farklı geldi bana. bundan mıdır? nasıl düzeltebilirim?


Hayat bu
ölsende yaşamaya mecbursun!
UNUTMA!!!



(hafta sonu mesai olmadığından mesajlardaki çözümleri ancak hafta içi uygulayabiliyorum)

Kullanici Avatari

Seruz

Uzman
Uzman
SE.... UZ....
 47
 1.562
 7
 30/10/2008
814
 Tekirdağ
 BT Şefi
 Ofis XP
 Dün,08:38
Çözüldü 
Formülün başında herhangi bir isim tanımlamanız gerekiyor.
Siz yazmadığınız için Access kendisi ekliyor yazılan formülün başına.
Yani bir sorun yok ortada.

Alıntı:Burada tablolar arasındaki bağlantı çizgisini çift tıklayarak bağlantı yönünü değiştirdim.
Bu sayede bir personelin Ceza ve Ek sorgusunda kaydı olsa da olmasa da getirmesini sağladım.
Atladığınız yer büyük ihtimalle tablolar arasındaki bağlantı şekli.
Aradaki bağlantıyı gösteren çizgiye çift tıklayarak değiştirmelisiniz.


Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs

Kullanici Avatari

kadirdursun

Aktif Üye
Aktif Üye*
KA.... DU....
 38
 1.291
 104
 12/01/2009
86
 İstanbul
 İnşaat Mühendisi
 Ofis 2010 32 Bit
 19/01/2018,15:01
Çözüldü 
sayın seruz;
açıklamanızı yeniden okudum sanırım daha önce tam anlayamamışım. şimdi oldu fakat şu kısım yine aklıma takıldı

NZ([Ceza_Sayisi];0)+nz([Ek_Sayisi];0)
kısmını yazıyorum alandan çıkınca
İfade1: NZ([Ceza_Sayisi];0)+nz([Ek_Sayisi];0)
haline geliyor. acaba neden oluyor?
hocam ben yazarken sizde aynı anda yazıyordunuz sanırım mesajınızı şimdi okudum.
formülün başına birşey ekliyor Access ama sizin örnekte bu yok? Img-grin


Hayat bu
ölsende yaşamaya mecbursun!
UNUTMA!!!



(hafta sonu mesai olmadığından mesajlardaki çözümleri ancak hafta içi uygulayabiliyorum)


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Accessten Excele Veri Aktarımında Sorguda Nz Problemi mehmetb84 7 186 06/08/2018, 15:28
Son Yorum: mehmetb84
Çözüldü Çapraz Sorguda Birden Fazla Veri Hesaplaması aliyuzen 4 132 06/08/2018, 15:18
Son Yorum: aliyuzen
Çözüldü Sorguda İki Ayrı Koşula Uyanı Getir. barcins 13 220 31/07/2018, 14:47
Son Yorum: ozanakkaya
Çözüldü Alanlar Arası Veri Aktarma kübrashn 8 242 30/07/2018, 18:14
Son Yorum: kübrashn
Çözüldü Sorguda Birleştirme mstfztrk 2 162 15/07/2018, 02:19
Son Yorum: mstfztrk

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2018 MyBB Group.