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

ınner join ile ilgili

sorgu("SELECT urn_id from t_urn_urun WHERE krt_id='{$idgeldi}' ORDER BY urn_id");

sorgu("SELECT * FROM t_urg_urungorsel WHERE urn_id='$urunidal' AND urn_ilksira='0' LIMIT $baslangic,$limit

Şu şekilde 2 tane sorgum var. idgeldi değişkenine get ile veri geliyor krt_id ye göre listeliyor. Sonra bu idleri

urunidal değişkenine alıyoruz. görselleri listeliyoruz.

Böyle çok karmaşık oluyor ve döngüye sokmam gerekiyor maalesef. INNER JOIN'e giriş yaptım. Bana bu konuda önrek bir sorgu yazarsanız taklit ede ede öğreneceğimi düşünüyorum bu işi.

Teşekkürler...
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • yaramazca adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    11 cevap - 0 soru
    sorgu("SELECT * FROM t_urg_urungorsel 
    WHERE urn_id= (SELECT urn_id from t_urn_urun WHERE krt_id='{$idgeldi}' ORDER BY urn_id)
     AND urn_ilksira='0' LIMIT $baslangic,$limi
    


    Yanlız urun ID tek gelmesi lazım. Eğer birden fazla gelecekse urun_id IN(....) demen lazım.
    • evr adlı üyenin fotoğrafı evr
      #1242 - Subquery returns more than 1 row
      gibi bir hata aldım phpmyadminde
      10 yıl önce yazılmış
    • yaramazca adlı üyenin fotoğrafı yaramazca
      Parentez ici birden fazla donuyor demekki. Parentezin orasi icib WHERE urun_id IN (...) kullan.
      10 yıl önce yazılmış
    • yaramazca adlı üyenin fotoğrafı yaramazca
      WHERE krt_id IN (...) OLACAK PARDON
      10 yıl önce yazılmış
    • evr adlı üyenin fotoğrafı evr
      hallettim sağolasın... INNER JOIN alternatifi olarak kullanabilir mi bu?
      10 yıl önce yazılmış
    • evr adlı üyenin fotoğrafı evr
      SELECT *
      FROM t_mrk_marka
      WHERE mrk_id
      IN (

      SELECT mrk_id
      FROM t_urn_urun
      WHERE urn_id = '132'
      )

      böyle birşeyin INNER JOIN örneği nasıl olur acaba?
      Bir de sorumu tekrarlıyorum INNER JOIN 'in alternatifi midit bu?

      Tablo yapısı olarak alıştım böyle :) urn_isim urn_id gibi olunca hemen aklıma geliyor.
      10 yıl önce yazılmış

Cevaplar

  • Alexander adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    29 cevap - 28 soru
    SELECT* FROM t_urg_urungorsel 
    WHERE urn_id IN 
    (SELECT urn_id FROM t_urn_urun WHERE krt_id='{$idgeldi}'  ORDER BY urn_id)
    AND urn_ilksira='0' LIMIT $baslingic, $limit
    


    değişkenlerinin ve tablo adlarının isimlerini okurken baya zorlandım :D ama yukarıdaki gibi işini tek sorguda halledebilirsin böylece her seferine veritabanına bağlanmak zorunda kalmamış oluruz ki böylece kodumuz daha hızlı çalışır .
    Test etmedim sorguyu.
    • Alexander adlı üyenin fotoğrafı Alexander
      yaramazca cevabına şimdi dikkat ettim aynı cevabı vermişsin zaten :D
      10 yıl önce yazılmış
    • evr adlı üyenin fotoğrafı evr
      SELECT *
      FROM t_mrk_marka
      WHERE mrk_id
      IN (

      SELECT mrk_id
      FROM t_urn_urun
      WHERE urn_id = '132'
      )

      böyle birşeyin INNER JOIN örneği nasıl olur acaba?
      Bir de sorumu tekrarlıyorum INNER JOIN 'in alternatifi midit bu?

      Tablo yapısı olarak alıştım böyle :) urn_isim urn_id gibi olunca hemen aklıma geliyor.
      10 yıl önce yazılmış
  • Hasan adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    63 cevap - 0 soru
    
    SELECT m.* FROM t_mrk_marka AS m INNER JOIN t_urn_urun AS u ON u.mrk_id = m.mrk_id WHERE u.urn_id = 132
    
    


    Şöyle bir inner join olabilir. Tabloları ben marka tablosuna m, urun tablosuna ise u dedim. Her iki tablodan çekmek istediğin alanı select'en sonra cagirabilirsin. m.* ile t_mrk_marka tablosundan tüm datayı aldık. İstersen m.*, u.urun_adi diyerekten diğer urun tablosundan istediğin alanı çekebilirsin.