[]

SQL Sorgusu Sorusu

Merhaba sevgili sql expertleri,

kategoriler ve makaleler diye iki tane tablomuz olsun. Her kategoriye ait sadece bir tane makaleyi çeken sql sorgusu nasıl olmalı ?


 
soru daha anlaşılır olsa iyi olur. kategoriler ve makaleler tabloları birbirine ne ile bağlı? (foreign key ne yani) anladığım kadarı ile yazayım.

şimdi bir kategoride birden fazla makale olma durumuda var dolayısı ile sen nasıl çekmek istiyorsun bu makaleyi bir tane olarak anlayamadım. ama "top" komutunu kullanark o kategorideki ilk buldugu makaleyi getirebilirsin.bunun için:
(makaleler tablosunda kategorilerin ismine foreign key olduğunu varsaydım)

select top 1 * from makaleler where kategori_name = "(çekmek istediğin kategori ismini yaz)"

bu sorgu seçtiğin kategori isminde bulduğu ilk makaleyi getirir.
  • yazik ziyan  (29.06.12 20:25:17) 
kategoriler tablosu
------------
kat_id
kat_adi

makeleler tablosu
-------
makale_id
makale_baslik
makale_icerik
makale_kategori

burdaki makale_kategori ile kat_id birbiri ile ilişkili.

kategorilerimiz: 1-fizik, 2-kimya, 3-biyoloji.

bu üç kategoriye ait 60 tane makale var diyelim. ben öyle bir sorgu yazmak istiyorum ki sadece üç* sonuç dönsün, ve bu üç sonucun da kategorileri farklı olsun.
  • gsgsgsgsgsgsgsgs  (29.06.12 21:09:41) 
SELECT k.*,m.*
FROM kategoriler k
INNER JOIN (
SELECT makale_kategori, MAX(makale_id) FROM makaleler GROUP BY makale_kategori
) MaxMakale ON k.kat_id = MaxMakale.makale_kategori
INNER JOIN makaleler m ON
MaxMakale.makale_id = m.makale.id and MaxMakale.makale_kategori=m.makale_kategori
  • zfr38  (29.06.12 22:03:37) 
ilgilendiğiniz için teşekkür ederim. Bu şekillderde yapamadım, stored procedure ile hallettim.


  • gsgsgsgsgsgsgsgs  (30.06.12 12:14:47) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.