Doğru Cevap
-
İ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
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ında11 yıl önce yazılmış -
madpoet
Kullanıcıya yetki verdikten sonra fark etmez, tablonun önüne veritabanını koyarak kullanabilirsin.
select * siparis_db.siparisler
gibi11 yıl önce yazılmış -
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 veriyor11 yıl önce yazılmış -
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
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 exist11 yıl önce yazılmış -
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
evet evet.izin var.11 yıl önce yazılmış -
etkiweb
2. yöntemle yapıyorum teşekkürler kardeş.11 yıl önce yazılmış
-
Cevaplar
Hiç cevap bulunamadı.