Forum

Access SQL Sorgusu:...
 
Bildirimler
Hepsini Temizle

Access SQL Sorgusu: PDKS Giriş Çıkış Saatleri Puantajı

4 Yazılar
2 Üyeler
0 Reactions
227 Görüntüleme
(@MustafaDagistanli)
Gönderiler: 146
Estimable Member
Konu başlatıcı
 

Merhabalar.

İki şubede, Sentez Güvenlik'in PDKS uygulamaları Sentez ve Uranium'u kullanıyoruz. Çalışma şekilleri aynı; verileri Microsoft Access veri tabanına yazıyor. Sadece kart okutan personelin verisi geldiği için kart okutmamış olanlarla birlikte tüm listeti sorgulamak istiyorum.

PERSONEL ve Gircik tablolarını birleştirerek tablo oluşturmak için, MS SQL JOIN komutlarını denedim, Access SQL komut örneklerini araştırdım, maalef başaramadım. Saatler geliyor, PERSONEL tablosundan Ad Soyad sütunları boş olarak geliyor.

Günlük veri için kullandığım sorgu şöyle;

SELECT Gircik.Kartno, Gircik.Tarih, Gircik.GSaat, Gircik.CSaat
FROM Gircik
WHERE (((Gircik.Tarih)=#5/10/2025#))
ORDER BY Gircik.Kartno;

PERSONEL tablosundan KARTNO, 'AD' & 'SOYAD', GRUB ve BOLUM sütunlarını listeleyip, belirtilen tarihteki giriş-çıkış hareketlerini çağırmasını istiyorum. Hareket olmasa da personel listelenmeli.

Ortak alanları: ID

Personel sorgusu:

SELECT PERSONEL.[KRTNO], PERSONEL.[AD], PERSONEL.[SOYAD], PERSONEL.[GRUB], PERSONEL.[BOLUM]
FROM PERSONEL;

Yardımcı olabilecek var mıdır?

 

 

 
Gönderildi : 10/05/2025 22:24

(@onurgrgn)
Gönderiler: 31
Eminent Member
 

Merhabalar

Bu şekilde denermisiniz.

SELECT 
  PERSONEL.KRTNO, 
  PERSONEL.AD & ' ' & PERSONEL.SOYAD AS AdSoyad,
  PERSONEL.GRUB, 
  PERSONEL.BOLUM,
  Gircik.Tarih, 
  Gircik.GSaat, 
  Gircik.CSaat
FROM 
  PERSONEL 
  LEFT JOIN Gircik ON PERSONEL.KRTNO = Gircik.Kartno 
                    AND Gircik.Tarih = #15/10/2025#
ORDER BY 
  PERSONEL.KRTNO;
 
Gönderildi : 11/05/2025 00:20

(@MustafaDagistanli)
Gönderiler: 146
Estimable Member
Konu başlatıcı
 

Ortak alan konusundan hata yapmışım; krtno = kartno

Şimdi de Left Join kısmında takıldım; Personel tablosundaki tüm objeleri getirip, giriş çıkış haraketi varsa yazaması, hareket yoksa boş bırakması gerekiyor ama sadece hareketi olan kayıtlar geliyor.

SELECT p.krtno, P.AD, P.SOYAD, G.Tarih, G.GSaat, G.CSaat
FROM PERSONEL P left join Gircik G ON P.Krtno = G.Kartno
WHERE (((G.Tarih) >#5/1/2025#))
ORDER BY P.Krtno;

MS SQL'den farklı bir komut mu var? LEFT JOIN ve LEFT OUTER JOIN denedim. Tasarım görünümüne baktığımda doğru olduğunu görüyorum.

image
 
Gönderildi : 11/05/2025 00:22

(@MustafaDagistanli)
Gönderiler: 146
Estimable Member
Konu başlatıcı
 

@onurgrgn Merhaba, teşekkür ederim ama Where yazmadığınız için JOIN ifadesinde hata verdi, düzeltip denedim ve benim sorgumla aynı oldu; inner join gibi çalışıyor.

 
Gönderildi : 11/05/2025 00:30

Paylaş: