Şimdi Ara

SQl sınavım var acil 2 sorunun cevabı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
552
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar resim ekte acil 8, inci soru ve 9. uncu soru için yardımcı olurmusunuz.

     SQl sınavım var acil 2 sorunun cevabı



  • 8)Tablo yapısına bakınca siparis için bir tablo yok yani her sipariş sadece bir ürün alabiliyor.

    Eğer 5 adet ürün limiti daha önceki satışları da kapsayacaksa:
    Yazacağın procedure parametre olarak musteri_id urun_id ve miktar değerlerini alsın. satis tablosunda sorgulama yapıp o müşteri o üründen daha önce kaç tane almış bunu bul ve miktar parametresine bu sayıyı ekle. Eğer 5 ten fazla ise gereken uyarıyı verirsin. Adet bulmak için de şöyle bir sorgu olabilir:

    SELECT SUM(miktar) FROM satis WHERE musteri_id = _musteri_id AND urun_id = _urun_id GROUP BY musteri_id;

    Burada _ ile başlayanları procedure parametreler olarak düşün.

    Eğer daha önceki satışlar dahil değil de sadece mevcut satış geçerli ise o zaman sorgu yapmaya bile gerek kalmaz sadece miktar parametresinin değeri 5 den büyük ise hata veren bir procedure yeterli olacaktır ama muhtemelen bunu istemiyordur soru diye düşünüyorum.

    Ben procedure kullanmıyorum ihtiyacım olmuyor genelde. Bu yüzden yazdıklarımı procedure olarak uygulamak sana kalmış ben sadece mantığını yazdım.




  • İşini gorur...
     SQl sınavım var acil 2 sorunun cevabı

    Buda Proc hali ;

    CREATE PROC MalSay
    AS
    SELECT 'Bes Urunden Fazla Aldınız...',musteri_id FROM satis
    GROUP BY musteri_id,urun_id
    HAVING Sum(satis_miktarı)>5



    < Bu mesaj bu kişi tarafından değiştirildi fsh77 -- 18 Kasım 2013; 14:27:00 >
  • CREATE Proc Mus
    AS
    INSERT INTO musteri
    VALUES(5,'errr','asa','','','')

    Delete FROM musteri
    WHERE musteri_telefon=''



    < Bu mesaj bu kişi tarafından değiştirildi fsh77 -- 18 Kasım 2013; 14:41:25 >
  • beyler harikasınız , teşekkürler...
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.