Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   SQL (http://www.excel.web.tr/forumdisplay.php?f=66)
-   -   Aynı sütünda çift sorgu (http://www.excel.web.tr/showthread.php?t=164725)

sarigozoglu 13-06-2017 16:15

Aynı sütünda çift sorgu
 
1 Eklenti(ler)
Arkadaşlar merhaba,

Aşağıda sunduğum excel tablosuna göre veri tabanımın bir örneğini anlatmaya çalıştım.

Veri tabanımda günlük giriş çıkış bilgileri var.

Bir sorgu ile tarih aralığı vermeksizin tüm tabloda sorgu yaparak, aynı gün giriş yapmış fakat çıkış yapmamış kişileri bulmak istiyorum.

Tek cümlelik bir sorguda bu mümkün müdür ?

Şimdiden teşekkür ederim.

01.06.2017 15 C
01.06.2017 19 G SONUÇ-1
02.06.2017 17 G
02.06.2017 19 G
02.06.2017 15 G SONUÇ-2
02.06.2017 19 C
02.06.2017 17 C
02.06.2017 18 G
02.06.2017 18 C
03.06.2017 15 G SONUÇ-3
03.06.2017 17 G
03.06.2017 18 G
03.06.2017 19 G
03.06.2017 19 C
03.06.2017 17 C
03.06.2017 18 C
04.06.2017 19 G SONUÇ-4
04.06.2017 18 G SONUÇ-5
04.06.2017 15 G
04.06.2017 15 C
04.06.2017 17 G
04.06.2017 17 C

dellerlim 13-06-2017 16:21

Sorun anlaşılmıyor, örnek dosya yükleyebilir misiniz?

sarigozoglu 13-06-2017 16:39

Alıntı:

dellerlim tarafından gönderildi (Mesaj 897302)
Sorun anlaşılmıyor, örnek dosya yükleyebilir misiniz?

Mesajı güncelledim.

Elde etmek istediğim sonuç, çıkış kaydı olmayanları bulmak

Ziynettin 13-06-2017 23:08

.....
Deneyiniz
....

Kod:

Option Explicit
Sub Ayni_tarihde_cikisi_olmayan()
Dim a(), b(), d As Object, Krt As Variant
Dim i As Long, Say As Long, n As Long
Sheets("Sayfa1").Select
Set d = CreateObject("scripting.dictionary")
a = Range("B4:C" & Cells(Rows.Count, 2).End(3).Row)
On Error Resume Next
For i = 1 To UBound(a)
    Krt = a(i, 1) & a(i, 2)
    d(Krt) = d(Krt) + 1
Next i
ReDim b(1 To UBound(a), 1 To 1)
For i = 1 To UBound(a)
Say = Say + 1
    Krt = a(i, 1) & a(i, 2)
    If d(Krt) = 1 Then
        n = n + 1
        b(Say, 1) = "SONUÇ" & "-" & n
    End If
Next i
Application.ScreenUpdating = 0
Range("E4:E" & Rows.Count).ClearContents
[E4].Resize(Say) = b
Application.ScreenUpdating = 1
MsgBox "  İşlem tamam...!", vbInformation
End Sub


Zeki Gürsoy 14-06-2017 03:09

Aşağıdaki sorgu istediğiniz listeyi verecektir.
Kod:

select * from hareketler a
where a.hareket = 'G' and not exists(
  select * from hareketler b
  where b.hareket = 'C' and a.sicilno = b.sicilno and a.tarih = b.tarih
order by sicilno, tarih
)


sarigozoglu 20-06-2017 17:21

Çok teşekkür ederim.


Saat 10:12

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.