Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
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

  • madpoet adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    84 cevap - 1 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.
    • etkiweb adlı üyenin fotoğrafı 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
      11 yıl önce yazılmış
    • madpoet adlı üyenin fotoğrafı madpoet
      Kullanıcıya yetki verdikten sonra fark etmez, tablonun önüne veritabanını koyarak kullanabilirsin.


      select * siparis_db.siparisler
      

      gibi
      11 yıl önce yazılmış
    • etkiweb adlı üyenin fotoğrafı 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
      11 yıl önce yazılmış
    • madpoet adlı üyenin fotoğrafı madpoet
      using olacak sanırım

      set rs = baglanti.execute("select * from uyeler inner join baglan.sbaslik using(uye_id)")
      
      11 yıl önce yazılmış
    • etkiweb adlı üyenin fotoğrafı 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
      11 yıl önce yazılmış
    • madpoet adlı üyenin fotoğrafı 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?
      11 yıl önce yazılmış
    • etkiweb adlı üyenin fotoğrafı etkiweb
      evet evet.izin var.
      11 yıl önce yazılmış
    • etkiweb adlı üyenin fotoğrafı etkiweb
      2. yöntemle yapıyorum teşekkürler kardeş.
      11 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.