Asp | Access-Mssql Çoklu Tablo Seçimi?
-
access veya mssql databasemde
uyeler,defter,forumlar tablolarım var
uyeler
id | kullanici | sifre
1 | deneme | 1234
defter
id | yazanid | mesaj
31 | 1 | deneme mesajı
forumlar
id | ustid | yazanid | mesaj
31 | 3 | 1 | deneme mesajı
tablolar böyle..
bu tablolardan tekini
Uzone = "SELECT * FROM forumlar where yazanid=1"
şeklinde yapıp 1 nolu üyemin yazısını çekebiliyorum
fakat istediğim 1 nolu üyenin mesajlar ve forumlar tablosundaki tüm kayıtlarını birden çeksin
yani çoklu tablo seçimi gibi bişey bu nasıl yapılır? join vs bişeyler buldum ama kavrayamadım olayı..
birde bu çoklu tablo seçiminde o gelen kayıtların hepsini tek seferde nasıl silebilirim?
yani her tablo için tek tek seçtirme ve sildirme yapmak istemiyorum 25 30 tane tablosu olan bi script çünkü :/
üyeyi kökten kazımak veya tüm yazdıklarını almak gibi bişey yapmak istiyorum
-
select defter.yazanid as id, defter.mesaj as mesaj where defter.yazanid = 1 union select forumlar.yazanid as id, forumlar.mesaj as mesaj where forumlar.yazanid=1
bu ikisini birleştirir
üyeyi silmek istiosan
delete from defter where yazanid=1
delete from forumlar where yazanid=1şeklinde ayrı ayrı çalışıtrabilirsin...
-
saol abü peki 15 20 tabloyla nasıl yapıcam bunları :D böyle uzatıcam mı hep ? yoksa püf noktası varmıdır?
-
sqlhoca bu:)
uzatacaksın :)
-
Yannız profesyonel programlamada bu şekilde yapılmaz zaten...
Database Releationshiplerini düzgün oluşturursun
diğer bütün tablolardaki yazaridlerini uye tablosundaki identity olan id sutununun cocuğu yaparsın, sonra hepsinin settingslerinde delete ve update triggerlarına cascade verirsin..
delete from yazar where id=1 yaptığında bütün tablolardan yazaridsi 1 olan bilgileri siler...
bu sayede piç mesajların ve folderların oluşmasınıda engellersin...
-
hm :/ sağol bilgiler için hocam
-
rene'nin dediğine ek olarak eğer tabloda buluna hali hazırdaki verilere ilişki ekleyemiyor isen ana tablodaya bir trigger ekle delete eventi gelince diğer tabloları temizlesin. bu delete triggerı da bir transaction başlatsın eğer herhangi bir tablodaki veri hataya sebep olursa rollback yaparsın
-
kısaca 2 gün uyku yok bana :P .. sağolun bilgiler için çok işime yarayacak
-
tagextim benim :) Sqlcim benim :D
