[]

Cins MySQL Query Sorusu

sql özürlü şahsımın yapmak istediği şey şu şekilde:

şimdi 2 tablo olacak biri isim, id ve içerik sayısından oluşuyor, öteki de içeriklerin bulunduğu tablo, üst tablonun idsi ve başka bir tablonun eleman idsinden oluşuyor, yani iki tane int.

tablo master : int id, string isim, int içeriksayisi
tablo slave : int master, int içerik

şimdi yapmak istediğim şey bu slave'den or ile içerik sorgulatmak "select master from slave where içerik = 1 or içerik = 5" şeklinde. ardından çıkan sonuçlarda masterlardan içerik sayısına göre yeteri kadar olup olmadığını bulmak.

yani master'ın içerik sayısı 5 diyorsa atıyorum bu sorgumda 5 tane master çıktıysa ben onu ayrı muameleye alacağım. bunu mümkün oldukça query'de yapmak için nasıl bir yol izlemem gerekir? saygılar.

 
tam da anlayamadı maslında sorunu ama bi de şöyle yazmayı dene:
select master from slave where içerik like(1,5)
1'le 5'i tırnak içinde de yazmak gerekebilir.

geçti gerçi de ben burda like yerine in yazıcaktım aslında yanlış yazmışım. neyse.
  • tepedeki psychedelic adam  (29.07.11 00:07:21 ~ 00:59:30) 
bana şu şekilde sonuç çıkarsa negzel olur mesela:

(order by çıkan sayı/toplam sayı)
- master id, çıkan sayı, toplam sayı, çıkan sayı/toplam sayı
  • yuto  (29.07.11 00:10:49) 
@tepedeki
bu ilk query'den sonra çıkan sonuçları ve sayılarını bir çıktı olarak almak istiyorum böyle bi query var mıdır?

  • yuto  (29.07.11 00:12:18) 
soyle bisey olabilir, denemek lazim;

select m.id, m.icerik_sayisi, count(*) as slave_icerik_sayisi
from master m, slave s where m.id = s.master_id
group by m.id, m.icerik_sayisi
having m.icerik_sayisi <> count(*)
  • nawres  (29.07.11 00:13:02) 
@nawres

select m.id, m.icerik_sayisi, count(*) as slave_icerik_sayisi
from master m, slave s where s.icerik = 1 AND m.id = s.master_id
group by m.id, m.icerik_sayisi
having m.icerik_sayisi <> count(*)

şeklinde sonuç alıyorum fakat

select m.id, m.icerik_sayisi, count(*) as slave_icerik_sayisi
from master m, slave s where (s.icerik = 1 OR s.icerik = 2) AND m.id = s.master_id
group by m.id, m.icerik_sayisi
having m.icerik_sayisi <> count(*)

şeklinde alamıyorum, fakat or s.icerik = 3 girersem sonuç geliyor yine :/
slave'de sadece 1 ve 2 var, 3 yok.
  • yuto  (29.07.11 00:38:21) 
ben ordaki icerik = 1 or icerik = 5 kismin hic gormedim ilk baktigimda :)

sonuc alamiorum derken, sorgu hata mi veriyor?

s.icerk'i de group by'a eklersen istedigin olur gibi, emin olamadim. soyle bi denesene;

select m.id, m.icerik_sayisi, s.icerik, count(*) as slave_icerik_sayisi
from master m, slave s where m.id = s.master_id and (s.icerik = 1 OR s.icerik = 2)
group by m.id, m.icerik_sayisi, s.icerik
having m.icerik_sayisi <> count(*)
  • nawres  (29.07.11 00:52: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.