Doğru Cevap
-
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
#1242 - Subquery returns more than 1 row
gibi bir hata aldım phpmyadminde13 yıl önce yazılmış -
yaramazca
Parentez ici birden fazla donuyor demekki. Parentezin orasi icib WHERE urun_id IN (...) kullan.13 yıl önce yazılmış -
yaramazca
WHERE krt_id IN (...) OLACAK PARDON13 yıl önce yazılmış -
evr
hallettim sağolasın... INNER JOIN alternatifi olarak kullanabilir mi bu?13 yıl önce yazılmış -
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.13 yıl önce yazılmış
-
Cevaplar
-
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
yaramazca cevabına şimdi dikkat ettim aynı cevabı vermişsin zaten :D13 yıl önce yazılmış -
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.13 yıl önce yazılmış
-
-
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.