• 09-12-2015, 14:38:35
    #1
    Merhaba arkadaşlar. Asp de bir satış sitesi yazdım. Ve ürünleri tek tek sepete ekliyorum. Bir kullanıcının eklediği her ürünü aynı SepetID ile kaydediyorum.

    Klasik yöntemle listelediğim zaman (select * from) aynı SepetID sahibi kayıtları da tek tek döküyor.

    Benim istediğim Her SepetID bir defa listelensin. Bunu da yaptım fakat şöyle bir sorunum var.

    "SELECT DISTINCT SEPETID FROM [SEPET] where ONAY = True and ODEMETIPI = 'K' and DURUM <> 1"
    şeklinde dökersem sadece SepetID ekrana dökebiliyorum doğal olarak. Oysa ben o SepetID değerinin Adedini, Sepete ekleme tarihini, UyeID değerini vs almak ve ID ye göre de sıralamak istiyorum.

    "SELECT DISTINCT SEPETID, SIPARISNO, USERID, DURUM, TARIH3, ODEMETIPI FROM [SEPET] where ONAY = True and ODEMETIPI = 'K' and DURUM <> 1"
    bu şekilde yaparsam oluyor ama oder by ID desc yemiyor. Sıralama yaparsam sorunum çözülecek.

    Alternatif öneriniz veya çözüm nedir.
  • 09-12-2015, 23:44:59
    #2
    SELECT * FROM SEPET GROUP BY SEPETID ORDER BY ID

    TURKCELL T60 cihazımdan Tapatalk kullanılarak gönderildi
  • 10-12-2015, 11:52:10
    #3
    Misafir adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM SEPET GROUP BY SEPETID ORDER BY ID

    TURKCELL T60 cihazımdan Tapatalk kullanılarak gönderildi

    aldığım hata bu sql satırında

    Microsoft JET Database Engine error '80040e21'
    Cannot group on fields selected with '*'.
  • 10-12-2015, 14:48:06
    #4
    GROUP BY komutunda Yıldız(*) kullanamazsın

    MSSQL kullanıyorsanız.

    Alıntı

    select sepet.ID,sepet.SEPETID
    from SEPET as sepet
    group by sepet.SEPETID
    order by sepet.ID
    Komutunu kendinize göre ayarlayıp 1 tane prosedür oluşturarak çağırın.

    2. Yol

    kod üzerinden devam etmek istiyorsanız

    SELECT ID AS SID, SEPETID AS SEPID FROM SEPET GROUP BY SEPID ORDER BY SID