Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
karakter kaldı

Asp İle En Çok Alışveriş Yapana Göre Üye Listeletme

a veritabanında üyeler var

b veritabanında kayıtlı siparişler var.


Ben Üyeleri listetirken şöyle bir filtre koymak istiyorum :

- En Çok Sipariş Verene Göre Sırala

fakat farklı veritabanları olunca bir mantık yazamadım. Yardımcı olabilir misiniz ?

Asp Yazılımı ve MYSQL veritabanı kullanıyorum...
+1
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap Doğru Cevap

  • Avatar of madpoet
    4 ay önce
    cevap - soru
    İki yöntemle yapabilirsin:

    1. İki tabloyu "join" ile birleştirirsin, sipariş'in id'sine göre gruplayıp order by count(*) desc yaparsın.
    2. Üyeler tablosuna "sipariş adedi" diye alan eklersin. Siparişler tablosuna her kayıt eklendiğinde ya da silindiğinde bu alanı güncellersin.

    İlk yöntem yük altında server'ı yorar...
    İkinci yöntem hızlı çalışır ama adedin hatalı kalması durumları olabilir. Her siparişle ilgili işlem yapılan yere "adedi güncelle" fonksiyonu koymak lazım, bir yerde unutursan ya da atıyorum acil bir durum olup da veritabanından elle silerse siparişi, rakam tutmayabilir.
    • Avatar of etkiweb etkiweb
      Sorun şu ki tablolar aynı veritabanında değil

      biri farklı bir veritabanında diğeri farklı bir veritabanında ...

      uyeler - > a veritabanında
      siparisler - > b veritabanında
      4 ay önce yazılmış
    • Avatar of madpoet madpoet
      Kullanıcıya yetki verdikten sonra fark etmez, tablonun önüne veritabanını koyarak kullanabilirsin.


      select * siparis_db.siparisler
      

      gibi
      4 ay önce yazılmış
    • Avatar of etkiweb etkiweb
      pek olmadı ...

      mysql de yeniyim ve pek bilgim yok...



      set rs = baglanti.execute("select * from uyeler inner join baglan.sbaslik on uye_id")
      


      bu kod hata veriyor
      3 ay önce yazılmış
    • Avatar of madpoet madpoet
      using olacak sanırım

      set rs = baglanti.execute("select * from uyeler inner join baglan.sbaslik using(uye_id)")
      
      3 ay önce yazılmış
    • Avatar of etkiweb etkiweb
      set rs = baglanti.execute("select * from uyeler inner join baglan.sbaslik using(uye_id)")
      



      tablo olarak algılıyor...

      [MySQL][ODBC 3.51 Driver][mysqld-4.1.21-community-nt]Table 'baglan.sbaslik' doesn't exist
      3 ay önce yazılmış
    • Avatar of madpoet madpoet
      ASP'den hiç anlamam ama farklı database'e böyle bağlanıyoruz sonuçta... Bağlanılan user'ın iki veritabanına da erişim izni var değil mi?
      3 ay önce yazılmış
    • Avatar of etkiweb etkiweb
      evet evet.izin var.
      3 ay önce yazılmış
    • Avatar of etkiweb etkiweb
      2. yöntemle yapıyorum teşekkürler kardeş.
      3 ay önce yazılmış

Cevaplar

Hiç cevap bulunamadı.