none
sql server create view hatası RRS feed

  • Soru

  • herkeze slm

    Benim bir sorunum var ve işin içinden bir türlü çıkamadım

    create view calisanlar
    as
    select * from ogretmenler as o
    inner join calisanyetki as c
    on o.yetkiid = c.yetkiid

    diye bir view oluşturmaya çalışıyorum fakat hata alıyorum

    Msg 4506, Level 16, State 1, Procedure calisanlar, Line 3
    Column names in each view or function must be unique. Column name 'yetkiid' in view or function 'calisanlar' is specified more than once.

    bu şekilde hata alıyorum sadece

    select * from ogretmenler as o
    inner join calisanyetki as c
    on o.yetkiid = c.yetkiid

    bu sorguyu çalıştırsam sorun yok ama view bir türlü oluşmuyor bana yardımcı olabilirmisiniz şimdiden teşekkürler iyi çalışmalar

    25 Temmuz 2012 Çarşamba 23:08

Yanıtlar

  • Merhaba

    tablolardan birinde yetkiid ismini değişin,yanlış hatırlamıyorsam sonraki karşılaşdırmada idler (yetkiid) aynı isimde oluğu zaman böyle hata veriyor.

    • Yanıt Olarak Öneren eralper 26 Temmuz 2012 Perşembe 05:09
    • Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 30 Temmuz 2012 Pazartesi 06:48
    26 Temmuz 2012 Perşembe 04:54

Tüm Yanıtlar

  • Merhaba

    tablolardan birinde yetkiid ismini değişin,yanlış hatırlamıyorsam sonraki karşılaşdırmada idler (yetkiid) aynı isimde oluğu zaman böyle hata veriyor.

    • Yanıt Olarak Öneren eralper 26 Temmuz 2012 Perşembe 05:09
    • Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 30 Temmuz 2012 Pazartesi 06:48
    26 Temmuz 2012 Perşembe 04:54
  • Merhaba,

    Onar'ın dediği gibi anlaşılan sorgunuzda SELECT * kullandığınız için her iki tabloda bulunan yetkiId kolonu SQL View'in birer kolonu oluyor. Ancak nasıl bir tabloda aynı isimde iki kolon olmayacağı gibi, bir View nesnesinde de aynı isimde iki kolon olamaz.

    SELECT * yerine tabloadı.kolonadı şeklinde bir SELECT listesi yazsanız daha doğru bir sonuç elde edersiniz.


    SQL Server, SQL Server 2012 Denali and T-SQL Tutorials

    26 Temmuz 2012 Perşembe 05:12
  • Aslın şu ana kadar oluşturduğum bütün view 'larda tablolardaki ortak isimleri kullandım ve sorunsuz çalıştı.

    Acaba diyorum sql programında bir ayarmı var bunu çalışmasını engelleyen?

    Çünki bilge adamdan aldığım eğitimlerde ve yaptığım tüm projelerde şu ana kadar ortak isim kullandım ve hiç bir sorun ile karşılaşmadım

    pc me attığım formattan sonra böyle oldu.

    Bilen varsa lütfen yardım edebilirmi çünki veri bütünlüğü açısından normalizasyon kurallarına göre bu şekilde ortak isim kullanmak daha büyük projelerde çok kolaylık oluyor.

    7 Ağustos 2012 Salı 16:14
  • Bence yanlisin var. View'larda ortak isim kullanamazsin. View'daki isimler kaynaktakiyle ayni olmak zorunda degil ve bu veri butunlugu, normalizasyon vs acisindan daha kolaylik da olmaz aksine ortada bir tekrar var ki normalizasyona pek uymuyor. YetkiID'nin adi da ayni, degeri de. Neden iki kez tutmak istiyorsun ki. Birisini kaldir.
    9 Ağustos 2012 Perşembe 09:11