SQL Yardım (Inner Join Ve Group By)
-
Arkadaşlar, Asp.Net ve MySQL ile içerik yönetim sistemi hazırlıyorum.
Lakin şöyle bir sorunum var. Kategoriler ve onlara ait içerikleri tek sorguda çalıştırmam gerekiyor. Ayrıca, kategoriye ait en sonuncu içeriği getirmesi gerekiyor.
3 resimle açıklamaya çalıştım. (1. ve 2. resim tablom ve içerisindeki veriler, 3. resim ise olmasını istediğim durumu anlatan kısım.)1. resim
2. resim
3. resim
Çıktı olarak kategori_ID, kategori, icerik_ID, baslik sütunlarını vermeli.
-
SELECT * from ICERIK
INNER JOIN KATEGORI
ON ICERIK.kategori_ID=KATEGORI.kategori_ID Group by kategori_ID Order by icerik_ID descşöyle bi denesene hocam framework kullanmaktan orig sql yazmayı unutmuşuz ya la :D
snnyk tarafından 18/Şub/14 00:29 tarihinde düzenlenmiştir -
ben PHP'de yazıyorum ASP.Net Mysql nasıl çalışır bilmiyorum fakat şöyle yazardım.
SELECT tic.icerk_ID, tic.kategori_ID, tic.baslik, tkat.kategori FROM tblIcerikler AS tic INNER JOIN tblKategoriler AS tkat ON tkat.kategori_ID = tic.kategori_ID ORDER BY tic.icerik_ID DESC
-
hiç kod ile kasma boşuna.
sql management kur, db ye bağlan, database gir. new wiew de. istediğin tabloları ekle, istediğin fieldleri sürükle bırak ile ilişkilendir.
otomatik olarak aşağıya kodlar dökülüyor, sonrasında c/p akar.. -
Arkadaşlar sorguyu şöyle yapıyorum
SELECT K.kategori_ID, K.kategori, I.icerik_ID, I.baslik FROM tblicerikler AS I INNER JOIN tblkategoriler AS K ON I.kategori_ID = K.kategori_ID Group BY K.kategori_ID Order BY I.icerik_ID DESC
Lakin şöyle bir sonuç çıkıyor. (Yine istenilen gibi değil.)
-
hocam yanlış anlamadıysam her kategoriyi ve o kategoride ki son içeriği almak istiyosun.
şu sorguyu bi dener misin ?
SELECT K.kategori_ID, K.kategori, I.icerik_ID, I.baslik FROM tblkategoriler I INNER JOIN tblicerikler K ON I.kategori_ID = K.kategori_ID ORDER BY I.icerik_ID DESC
-
Evet, her kategoriyi ve o kategoriye ait en sonuncu içeriği aynı anda çekmek istiyorum.
Verdiğin kodu düzenledim yine olmadı, bu sefer de tüm verileri çekiyor.
Ne zamandır çözemedim gitti.
-
group by kategori id dersen kategori idyi gruplar hocam
edit : ups pardon 3.resim gibi istiyorsun sanmıstım tekrar okuyorum
Genki tarafından 18/Şub/14 12:44 tarihinde düzenlenmiştir -
SELECT * from ICERIK
INNER JOIN KATEGORI
ON ICERIK.kategori_ID=KATEGORI.kategori_ID Order by kategori_ID,icerik_IDbende 3. resim gibi sanmıştım..
Shuqufe tarafından 18/Şub/14 12:48 tarihinde düzenlenmiştir -
ontedi bunu yazdı
Arkadaşlar sorguyu şöyle yapıyorum
SELECT K.kategori_ID, K.kategori, I.icerik_ID, I.baslik FROM tblicerikler AS I INNER JOIN tblkategoriler AS K ON I.kategori_ID = K.kategori_ID Group BY K.kategori_ID Order BY I.icerik_ID DESC
Lakin şöyle bir sonuç çıkıyor. (Yine istenilen gibi değil.)
önce order byt yapıp sonra group by yapmayı denermisin bu sorguda
-
Evet arkadaşlar 3. resim gibi olacak (işaretlediklerim gelmeli). Yani her kategoriye ait sonuncu içeriği getirecek (Kategori ve ona ait sonuncu içerik olmalı.).
ontedi tarafından 18/Şub/14 12:51 tarihinde düzenlenmiştir