iliskili sql'ler
iliskili sql'ler
arkadaslar benim 2 tablom var bu tablolardaki ortak alanlar test_no ben birinci tabloda o test_no yu alarak 2. tabloda kac adet test kullanilmis onu bulmak istiyorum.yani 1.tabloda test_ismi ve test_no var 2.tabloda bu test_nodan kac adet kullanildigini bulmak istiyorum sonucuda 1.tablodaki test_ismi ni ve 2.tabloda kac adet test_no kullanilmis ise bunlarin sonuclarini gridde gostermek istiyorum.. ancak bunu yaptigimda sadece birinin sonucunu bulabiliyorum.. tum testleri listeleyemiyorum..2 adet query kullaniyorum acaba bu is tek query ile yapilabilirmi yada nasil yapabilirim...
Sitenin Veritabanı notlarındaki kısımdan SQL'e giriş kısmını bol bol okuyunuz.
Kolay gelsin...
Kolay gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Öncelikle sorunuzu programlama forumuna sormuşsunuz. Bu tabi ki yanlış olmuş. Veritabanı forumuna taşıdım... Bundan sonra dah adikkatli olursak düzenli bir mesaj arşivimiz olur.
Ayrica veritabanı sorusu sorarken hangi veritabanını kullandıgınızı da mutlaka belirtmenizde fayda var....
gelelim sorunuzabu kodun anladığım kadarı ile işinizi görmesi lazım...
Ayrica veritabanı sorusu sorarken hangi veritabanını kullandıgınızı da mutlaka belirtmenizde fayda var....
gelelim sorunuza
Kod: Tümünü seç
Select T1.TEST_ISMI,
(Select cont(*) from TABLO2 as T2 where T2.TEST_NO=T1.TEST_NO) as TEST_ADEDI
from TABLO1 as T1
order by T1.TEST_ISMI
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

hocam yazdiginiz query hata veriyor.. ben oracle kullaniyorum..daha aciklayici olmasi icin... 1.tablomda TEST_ISMI,TEST_NO var 2.tabloda ise kisiler icin kullanilmis testler var ve bu testler TEST_NO'ya gore veriliyor..yani bu 2.tablodan her bir TEST_NO dan kac adet kullanilmis onu bulmak istiyorum.. istatistik icin...fahrettin abinin gonderdigi kod hata veriyor..sag parantez eksik diyor ama eksik degil
fahrettin abi allah razi olsun. o query isimi gordu..uzerinde biraz duzeltme yaptim ve oldu..ama simdi ben bir tablodan daha eklemek istiyorum 3.bir tablo var.. bu tablo ile 2.tabloda ID diye bir alan ortak.. olay soyle 1.tabloda TEST_NO,TEST_ISMI 2.tabloda ID,TEST_NO 3.tablodada ID,NUMUNE_ALMA_ZAMANI var...simdi kisi bilgileri 3.tabloda tutuluyor.ID numarasi ve NUMUNE_ALMA_ZAMANI var(ISTEK Tablosu).. 2.tabloda bu kisiye ait ID,TEST_NO var (HIZMETLER tablosu) 1.tablodada Test_no,TEST_ISMI var(HIZMETISIMLERI).. yapmak istedigim 3.tablodaki NUMUNE_ALMA_ZAMANI ni kullanarak o tarihte kac adet test_no ve test_ismi kullanilmis onu bulmak istiyorum..
işinizi görmesine sevindim... İlk query'de count yerine cont yazmışım muhtemelen hata oydu.
Neyse...
yeni sorunuza yine anladigim kadari ile soyle bir cevap verebiliriz sanıyorum....
Madem Oracle kullanıyorsanız aşağıdaki kod aznnedersem Oracle'da da çalışacaktır. (Sybase'de çalışıyor
)... Farklı bir bakış açısıyla aynı sonucun alınmasına b.r örnek....
Anlaşılacağı üzere NUMUNE_ALMA_ZAMANI='25.07.2004' satırı örnek bir tarih kısıtlaması....
Kolay gelsin...
Neyse...
yeni sorunuza yine anladigim kadari ile soyle bir cevap verebiliriz sanıyorum....
Kod: Tümünü seç
Select T1.TEST_ISMI, count(*) as ADET
from TABLO1 as T1,TABLO2 as T2, TABLO3 as T3
where T1.TEST_NO=T2.TEST_NO and T2.ID=T3.ID and T3.NUMUNE_ALMA_ZAMANI='25.07.2004'
group by T1.TEST_ISMI
order by T1.TEST_ISMI

Kod: Tümünü seç
Select SUB_QRY.TEST_ISMI, count(*) as ADET
from (Select T1.TEST_ISMI
from TABLO1 as T1,TABLO2 as T2, TABLO3 as T3
where T1.TEST_NO=T2.TEST_NO and T2.ID=T3.ID and T3.NUMUNE_ALMA_ZAMANI='25.07.2004') as SUB_QRY
group by SUB_QRY.TEST_ISMI
order by SUB_QRY.TEST_ISMI
Kolay gelsin...
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...
