• 16-08-2010, 14:03:32
    #1
    merhaba arkadaşlar,

    daha öncede bu konuyu açmıştım fakat yardım eden çıkmamıştı. Ücret karşılığı bir kod istiyorum bu kod şöyle olmalı.

    arama sayfası yapıyorum, bu arama sayfası db sinde başlık, kelime ve id alanları var.

    başlık = kayıtların başlıklarının tutulduğu stun
    kelime = başlıkla ilgili keywordlerin tutulduğu stun

    ben istiyorum ki bu tabloda "ali" kelimesi arandığından başlık ve kelime stunlarında arasın fakat sıralamaya sokarken önce baslık stununda "ali" geçen verileri daha sonra kelime stunundaki "ali" geçen verileri sıralasın.

    burada önemli nokta başlıkta önce "ali" geçen veriler sıralanması

    ASP ve MSSQL kullanıyorum.

    teşekkürler
  • 16-08-2010, 14:32:00
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Msj atıldı...
  • 16-08-2010, 19:38:51
    #3
    Üyeliği durduruldu
    Halledemediysen özel mesaj atabilirsin.
  • 18-08-2010, 00:12:08
    #4
    Üyeliği durduruldu
    SELECT t1.[Baslik]
    FROM tabloAd t1
    WHERE t1.[Baslik] LIKE '%kelime%'
    UNION ALL
    SELECT t2.[Kelime]
    FROM tabloAd t2
    WHERE t2.[Kelime] LIKE '%kelime%'



    Sorgu aynı tablodan ilk önce başlıkla aranan kelimeleri daha sonrasında ise kelimelerde arananları getirip alt alta sıralar.
    böyle bir sorgu işini görür mü bilemiyorum. İyi çalışmalar..
  • 22-08-2010, 16:15:24
    #5
    dostum dediğin tam olarak istediğimi yapıyor. Fakat çok ufak bir sorun kaldı oda gelen verileri sayfalamada kodu şu şekil yaptım :


    kd.Open "select haberID,baslik,ozet from tablo where lower(baslik) like lower(N'%galatasaray%') union all select haberID,baslik,ozet from tablo where lower(ozet) like lower(N'%galatasaray%') AND lower(baslik) not like lower(N'%galatasaray%')",con, 1, 3

    şimdi burada galatasaray kelimesine göre önce başlıkta sonra özette geçen verileri alt alta sıralıyor fakat sayfalama yapıcam diyelim " kd.recortcount " değeri " -1 " geliyor o yüzden sayfalatma yapamıyorum. Nasıl olabilir ?
  • 29-08-2010, 23:20:33
    #6
    Üyeliği durduruldu
    Eğer countu lazımsa ilk aklıma gelen sorguyu yazıyorum.

    Select count (*) as 'rowcnt' from (select haberID,baslik,ozet
    from tablo where lower(baslik) like lower(N'%galatasaray%')
    union all
    select haberID,baslik,ozet
    from tablo where lower(ozet) like lower(N'%galatasaray%') AND lower(baslik) not like lower(N'%galatasaray%')) as myT
  • 29-08-2010, 23:26:03
    #7
    Üyeliği durduruldu
    Stored procedure kullanabilirsin sayfalama için.
    @sayfadakiMaxKayit int,
    @kacinciSayfada int

    değişkenlerini sorguna göre declare edip kolonları çekebilirsin. Hem daha derli toplu olur hem de performans kaybın azalır.