Zoque.Forum
»
[ASP] Veritabanı ile ilgili bir problemim var !!
|
| Sunucu Tabanlı Programlama (Server Side) Perl/CGI, PHP, ASP, JSP, .NET ve diğer programlama dilleri hakkındaki sorularınıza, paylaşmak istediklerinize ve örnek kodlara bu alanda yer verebilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 18.03.2002
Yer: izmir
Yaş: 26
Mesaj: 140
|
[ASP] Veritabanı ile ilgili bir problemim var !!
Herkese merhaba,
Olup olmadığını bilmiyorum sadece aklıma geldiği için bir fikir almak istedim. Bir veritabanım var içinde iki adet tablom var bunlardan birinin ismi mesajlar diğerinin ismi uyeler ben bu iki tablodanda veri almak istiyorum hangi kodları kullanmam gerek, aşağıdaki kodları kullanarak tek mesajlar tablosundan veri alabiliyorum aynı sayfa içinde ikinci tablodanda veri alabilirmiyim ? PHP Code:
SQL = "SELECT subject, by, datetime, replies, id FROM mesajlar WHERE replyto = 0 ORDER BY datetime DESC" Yardımcı olacak herkese teşekkürler. |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 05.11.2005
Yer: Istanbul
Yaş: 28
Mesaj: 486
|
Re: [ASP] Veritabanı ile ilgili bir problemim var !!
Birden fazla tabloyu aynı SQL çümlesinde aça bilirsin..
Yazının devamı : http://rapidshare.de/files/6952776/sqlyazi.doc.html Link için : free yazan botuna tıklarsan açılan sayfadan altaki geri sayımı bitmesini bekle link çıkacaktır.. --------------------------------------------------------------------- http://forum.maxiasp.com/soru.asp?is=oku&sno=18199 --------------------------------------------------------------------- Kod:
Örnek 1 : Hangi personelin ne kadar maaş aldığını listelemek istersek; SELECT ad,soyad,aylik_ucret FROM personel,ucretler WHERE sicil_no=per_sicil_no Örnek 2 : İstanbul'da yaşayan Adana doğumlu personelin maaşlarını listelemek istersek; SELECT ad,soyad,aylik_ucret FROM personel,ucretler WHERE sicil_no=per_sicil_no AND adres LIKE '%İstanbul%' AND dogum_yeri = 'Adana' Örnek 3 : 300 milyondan fazla maaş alan ve 2 nolu meslek grubuna ait personeli listelemek istersek; SELECT ad,soyad,aylik_ucret FROM personel,ucretler WHERE sicil_no=per_sicil_no AND aylik_ucret>300000000 AND meslek_id=2 Örnek 4 : Muhasebe meslek grubuna ait personel listesi; SELECT ad,soyad FROM personel,meslekler WHERE meslek_id=meslek_id AND meslek_aciklama='Muhasebe' Şimdi buradaki sorgulamımızda bir karışıklık söz konusu olacak.İki tane aynı isimde meslek_id oldu.Bunu şu şekilde engelleyebiliriz. Tablolarda aynı isimde iki kolon varsa bu kolanları kullanırken başlarıda tablo ismini getiririz araya bir nokta koyarak kolon adını yazarız. SELECT ad,soyad FROM personel,meslekler WHERE personel.meslek_id=meslekler.meslek_id AND meslek_aciklama='Muhasebe' Örnek 5 : Şirketimizde 30 yıldır çalışan ve 200 milyon altında maaş alan personeli ödüllendirecegiz. Bunun için nasıl bir sorgulama yapmalıyız. SELECT ad,soyad FROM personel,ucretler WHERE sicil_no=per_sicil_no AND baslama_tarihi < '01.01.1969' AND aylik_ucret < 200000000 Örnek 6 : 22 yaşından büyük bilgi işlemde çalışan bayan personeli listelemek istersek (NOT : cinsiyet= 0 : bayan 1 : erkek medeni_hal= 0 : bekar 1 : evli ) SELECT ad,soyad FROM personel,meslekler WHERE personel.meslek_id=meslekler.meslek_id AND meslek_aciklama='Bilgi İşlem' AND cinsiyet=0 AND dogum_tarihi < '01.01.1977' Örnek 7 : 40 yaşından küçük ,bilgi işlem veya muhasebe bölümünde çalışan,erkek,200 milyondan fazla maaş alan ,Ankara doğumlu ,Sarıyer'de oturan,10 yıldan fazla şirkette çalışan , bekar ,10 milyondan fazla kesinti yapılan personeli listelemek istersek; SELECT ad,soyad FROM personel,meslekler,ucretler WHERE dogum_tarihi > '01.01.1959' AND personel.meslek_id=meslekler.meslek_id AND (meslek_aciklama='Bilgi İşlem' OR meslek_aciklama='Muhasebe') AND cinsiyet=1 AND sicil_no=per_sicil_no AND aylik_ucret > 200000000 AND dogum_yeri='Ankara' AND adres LIKE '%Sarıyer%' AND baslama_tarihi > '01.01.1989' AND medeni_hal=0 AND kesinti>10000000 Örnek 8 : Muhasebe ve Pazarlama bölümü dışında çalışan perseneli listelemek istersek; SELECT ad,soyad FROM personel,meslekler WHERE personel.meslek_id=meslekler.meslek_id AND meslek_aciklama<>'Pazarlama' AND meslek_aciklama<>'Muhasebe' Örnek 9 :40 yaşları arasında İzmir ve Bursa doğumlu adayları listelemek istersek; SELECT ad,soyad FROM personel WHERE dogum_tarihi BETWEEN '01.01.1959' AND '01.01.1969' AND (dogum_yeri='İzmir' OR dogum_yeri='Bursa') Örnek 10 : Adı E ile başlayan, 3,5 ve 7 nolu meslek grubuna ait ,bayan,bekar,30 yaşından küçük , 100 milyondan fazla maaş alan personel listesi ; SELECT ad,soyad FROM personel,ucretler WHERE ad LIKE 'E%' AND meslek_id IN (3,5,7) AND cinsiyet=0 AND medeni_hal=0 AND dogum_tarihi > '01.01.1969' AND sicil_no=per_sicil_no AND aylik_ücret > 100000000 Örnek 11 : Evli ve aile yardımı almayan persenol listesi; SELECT ad,soyad FROM personel,ucretler WHERE medeni_hal=1 AND aile_yardim=0 |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 12.06.2000
Yer: ankara
Mesaj: 1,977
|
Re: [ASP] Veritabanı ile ilgili bir problemim var !!
aynı sayfada birden çok kez SQL cümleciği de oluşturabilir elbette.
__________________
bet3 ~izlenimsel betimlemeler blog kardeşliği ~blogger en asil duygunun insanıdır fotoğrafya |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,912
|
Re: [ASP] Veritabanı ile ilgili bir problemim var !!
eğer amacınız üyeler ile mesajları ilişkilendirmek ise ve zaten veritabanında bu ilişki mevcutsa;
Kod:
SELECT uyeler.ad, uyeler.soyad, mesajlar.subject, mesajlar.by, mesajlar.datetime, mesajlar.replies, mesajlar.id FROM mesajlar, uyeler WHERE uyeler.id = mesajlar.uye_id and mesajlar.replyto = 0 ORDER BY mesajlar.datetime DESC bunun dışında ilişkilendirmeler de mevcut olabilir tabii ki. bunun için her iki tablonun alan adlarınızı yazmanızı tavsiye ederim.
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 18.03.2002
Yer: izmir
Yaş: 26
Mesaj: 140
|
Re: [ASP] Veritabanı ile ilgili bir problemim var !!
@arsende döküman için teşekkürederim, bazı bölümleri işime yaradı veri tabanıyla ilgilenen arkadaşların bakmasını öneririml..
@absconder örnek için saol yapmak istediğim şey düşündüğün gibi ve sorunun çözümüde bu oldu bu bilgi için teşekkürler. fakat mesajlar.datetime DESC yani sıralatmayı büyükten küçüğe veya küçükten büyüğe nasıl yaptırabilirim ? bu konu hakkında bilgin varsa veya bilgisi olan diğer arkadaşlar varsa yardımcı olabilirlermi ? Yardımlarınız için teşekkürler. |
|
|
|
Zoque'a hoşgeldiniz!