Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Inner Join'le dönen sonuçların sayısını bulmak?

arkadaşlar şöyle bir inner join kodum var...
SELECT   dbo.urunler.urunAd, dbo.resimler.urunID, dbo.resimler.resimYol, dbo.resimler.resimId, dbo.resimler.thumbs
FROM            dbo.resimler INNER JOIN
                         dbo.urunler ON dbo.resimler.urunID = 1


bu urunId si 1 olan urunlerin urunler tablosundan urunAdınıda alarak birleştiriyor.. İstediğim dönen veri sayısı Count la yapıyoruzda uygun yere koyamadım count'un ama Count(resimId) şeklinde olacak nasıl yapmalıyım sorgum nasıl olmalı..
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • ercet00ilk adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    10 yıl önce güncellenmiş
    96 cevap - 18 soru
    umarım aradığın böyle bir şeydir. hiç değiştirmeden aynen kopyalayıp oraya yapıştırıp, bir deneyelim.

    declare @adet int
    select @adet=COUNT(rs.resimId) from resimler rs where urunID = 1
    if(@adet>0)
    begin
    	SELECT ur.urunAd,rs.urunID,rs.resimYol,rs.resimId,rs.thumbs
    	FROM resimler rs
    	INNER JOIN urunler ur
    	ON rs.urunID = ur.urunID 
    end
    


    ha bir de tablolarda null olan kısım varsa onlar eksik çıkar, hiç yokmuş gibi kabul eder.. baştan söyleyim.
    • psygnosis adlı üyenin fotoğrafı psygnosis
      evet ok bu yazdıgına binaen :) @adet değşkenini inner join le oluşan tabloya bir kolon olarak ekleyebilirmiyiz.?
      10 yıl önce yazılmış
    • ercet00ilk adlı üyenin fotoğrafı ercet00ilk
      o dediğini olayın ismi TRANSACTION (Transact-SQL) yani üst üste çoklu işlem yaptırıyorsun.

      bütün sorguyu tek bir fonksiyon olarak düşünüp uygularsanız sanırım anlarsınız.

      buradaki fark bütün sayfadaki sorgu çalıştırılıyor. en küçük bir sıkıntıda, patlamada ya da değerdeki şart tutmadığında bütün işlemler roll-back oluyor. ne güzel değil mi? bankadaki sistemin ta kendisi.

      en basitinden şöyle sorguları sıralarsınız tabloyu oluşturursunuz ve değerleri aktarırsınız. commit yazısını görene kadar tüm işlemleri saymaz. ne zaman ki commit görür o zaman tüm işlem başarılı olarak sonuçlanır.

      USE AdventureWorks;
      GO
      BEGIN TRANSACTION;
      GO
      DELETE FROM HumanResources.JobCandidate
          WHERE JobCandidateID = 13;
      GO
      COMMIT TRANSACTION;
      GO
      


      anlamadığınız konu olursa burada da anlatmış : http://www.csharpnedir.com/articles/read/?id=375&title=Transaction%20Kavram%C4%B1
      10 yıl önce yazılmış
    • psygnosis adlı üyenin fotoğrafı psygnosis
      teşekkürler
      10 yıl önce yazılmış
    • ercet00ilk adlı üyenin fotoğrafı ercet00ilk
      rica ederim umarım işinizi görmüştür. kolay gelsin.
      10 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.