• 29-11-2009, 21:41:41
    #1
    Arkadaşlar bir prosedür yapmam lazım. veritabanım şu şekilde


    Prosedürde film hakkında oyun yonetmen falan çekmem lazım ama inner joini kullanmam lazımmış ama nasıl yapacagım bulamadım
    CREATE PROCEDURE FilmDetay
    	@UrunID int
    AS	
    	select f.FilmID,f.FilmAdi,f.FilmOrjinalAd,f.FilmOzeti,f.FilmTeknikOzellikler,f.FilmYapimYil,f.FilmSesOzellikleri,f.FilmAltYazilari,
    f.FilmPuan,k.KategoriAd,o.Odul,oy.OyuncuAd,oy.OyuncuSoyad,y.YonetmenAd,y.YonetmenSoyad
    	from Filmler f
    inner join Oduller o on o.
    gibi bişeymi olcak
  • 29-11-2009, 22:03:53
    #2
    linqto sql kullan kafan rahat etsin
    var sonuc= from u in ctx.AnaTablo
    select new {

    u.kolonadı
    u.İliskiliTabloAdi.Kolonadi
    ..

    }

    sekilnde sorgu cekersen sonuc istediğin gibi olur

    normal sorgu ile oturup tek tek inner join yapman lazım ben bir örnek yapayım ana

    select * from filmler f
    inner join yonetmenFilm yf on yf.FilmID = f.FilmID -- yönetmenfilm ve filmler tablosu birlessti

    inner join yonetmenler y on yf.YonetmenID =y.YonetmenID

    tabi * yerine
    f.istediginkolon,y.istediğinkolon .... seklinde yapman lazım

    olay su
    inner join birlestirmekistediğintabloadi kisaltmaAd on (neye göre birlesecek sartı) kisaltmaAd.ortakkolonAdi = digertablo.OrtakKolonAdi

    burda ortakkolonadi dedim ama isimlerin aynı olması gerekmez. normalize etmişinde biraz

    bu durumlarda linq cidden kolaylık sağlıyor


    sorun eğer nasıl storedprosedur yaparım sa

    bu anlattığım inner joinleri yap test et sonra

    sql server 2005 ve öncesi için
    create proc spFilmGetir
    @parametre parametretipi
    as
    ......
    ....

    sql server 2008
    create proc spFilmGetir
    (
    @parametre parametretipi
    )
    as
    ....
    ...
  • 30-11-2009, 09:37:14
    #3
    teşekkür ederim deniyeceğim