Bir Query lazim

Oracle veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
şimal
Kıdemli Üye
Mesajlar: 516
Kayıt: 10 Kas 2003 09:36
Konum: ANKARA

Bir Query lazim

Mesaj gönderen şimal »

2 tablo var
1.tablo:
arayan_no, aranan_no, saat
2.tablo:
arayan_no, aranan_no, saat

Bir query lazim ciktisi şöyle olacak:

1.arayan_no 2.arayan_no 1.aranan_no 2.aranan_no 1.saat 2.saat
123 123 234 234 13.30 13.40


yani tek görüşmeye ait iki tablodaki bilgileri yan yana listeleyip karşılaştırmak istiyorum.

Nasil yaparim bunu?
Boş Başak Dik Durur...
Santranç bitince şah da piyon da aynı torbaya girermiş...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

JOIN ile yapabilirsin;

Kod: Tümünü seç

select t1.arayan_no, t2.arayan_no, t1.aranan_no, t2.aranan_no, t1.saat, t2.saat 
from table_1 t1
left join table_2 t2 on t2.arayan_no = t1.arayan_no
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
arayan_no ve aranan_no alanlarını pkey kabul edip outher join yapılabilir.
ama ozamanda aynı numara aynı numrayaı birden fazla aradıysa... olmadı.
sanırım iki query ve yanyana duran iki grid....
after scroollarında diğer gridide scroll edersin.

sanırım pek bi faydası olmadı...
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

şuna benziyor viewtopic.php?p=14039#14039
tabi firebird de yapılmış oracle yapabilirmi ki bilmem :P :lol:
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
şimal
Kıdemli Üye
Mesajlar: 516
Kayıt: 10 Kas 2003 09:36
Konum: ANKARA

Mesaj gönderen şimal »

Böyle tatil ihtiyaci başgöstermeye başladığında çok basit şeylere bile
boş boş bakar anlamazsınız ya :)
öyle olmuş bugün çözdüm meseleyi
çok sağolun ilgilendiğiniz için...

işte çözümü :

select ngn_anumber, dms_anumber, ngn_bnumber, dms_bnumber, ngn_bas, dms_bas
(
select C_NUMBER ngn_anumber, CALLING_NO dms_anumber, D_NUMBER ngn_bnumber,CALLED_NO dms_bnumber, CONNECT_TIME ngn_bas, BASSAAT dms_bas
from v_ngn, v_dms
where v_ngn.C_NUMBER=v_dms.CALLING_NO and v_ngn.D_NUMBER=v_dms.CALLED_NO
)
union all
(
select C_NUMBER ngn_anumber, '' dms_anumber, D_NUMBER ngn_bnumber, '' dms_bnumber, min(CONNECT_TIME) ngn_bas, '' dms_bas
from v_ngn
where
v_ngn.C_NUMBER not in (select v_dms.CALLING_NO from v_dms) and v_ngn.D_NUMBER not in (select v_dms.CALLED_NO from v_dms)
group by
C_NUMBER, D_NUMBER
)
union all
(
select '' ngn_anumber, CALLING_NO dms_anumber, '' ngn_bnumber, CALLED_NO dms_bnumber, '' ngn_bas, min(BASSAAT) dms_bas
from v_dms
where
v_dms.CALLING_NO not in (select v_ngn.C_NUMBER from v_ngn) and v_dms.CALLED_NO not in (select v_ngn.D_NUMBER from v_ngn)
group by
CALLING_NO, CALLED_NO
)
)
Boş Başak Dik Durur...
Santranç bitince şah da piyon da aynı torbaya girermiş...
Cevapla