BİLGİ SAYAMIYORUM beta

MS SQL de birden fazla tablodan tek seferde veri çekmek - INNER JOIN

0

Ms Sql de veri çekmek için kullanılan prosedür ile veritabanına bağlı birbiriyle alakalı olan birden fazla tablodan tek seferde veri çekmek için INNER JOIN kullanabilirsiniz. 

Bunun için birbiriyle ilişkili tabloları "FROM" altına yerleştirirken eşleştiği kolonları belirtmelisiniz. Tabii ki bu eşleşmede taraflardan bir tanesindeki kolon "unique" olarak belirtilmelidir. 

Mesela "haberler" tablosundan ve "yazarlar" tablosundan veri çekerken "haberler" içindeki "yazarID" sini "yazarlar" tablosu içindeki unique "yazarID" ile eşleştirmelisiniz. Bu sayede tek seferde iki tablodan da uygun verileri çekebilirsiniz. 

     CREATE PROCEDURE [dbo].[getPost]
          @ID int
     AS
     BEGIN
          SELECT
               POS.ID,
               POS.title,
               ATH.realName AS 'realName',
               ATH.image AS 'avatar'
          FROM
               posts   AS POS
               INNER JOIN authors AS ATH ON POS.authorID = ATH.ID
          WHERE
               POS.ID = @ID
          ORDER BY
               POS.ID DESC
     END

Buradaki "ON" eşitliğin hangi kolonlar arasında olduğunu belirtmek için kullanılmıştır.  "POS.ID" ve "ATH.image" şeklinde SELECT altında görüldüğü üzere iki farklı tablodan veri çekilmektedir.

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER