zynif Δημοσ. 24 Μαΐου 2013 Δημοσ. 24 Μαΐου 2013 Καλησπέρα Έχουμε τον παρακάτω πίνακα ο οποίος αναπαριστά διάφορα προϊόντα (ProdID) ,τα καταστήματα στα οποία είναι διαθέσιμα αυτά τα προϊόντα ( PlaceID) , το κόστος ανα τεμάχιο για το συγκεκριμμένο κατάστημα (Cost) και η ημερομηνία (JulDat) που καταγράφτηκε η τιμή αυτή. Το ίδιο προϊόν μπορεί να πωλείται σε περισσότερα του ενός καταστήματα και μάλιστα η τιμή του μπορεί να διαφέρει από κατάστημα σε κατάστημα. Όσο πιο μεγάλη είναι η τιμή του JulDat τόσο πιο πρόσφατη είναι η ημερομηνία πχ η τιμή 140 αντιστοιχεί στις 20/5/13 ενώ η 143 στις 23/5/13. Θέλω ένα sql query όπου θα εμφανίζει για όλα τα προϊόντα που υπάρχουν στον πίνακα Prices :προϊον, κατάστημα,πιο προφατη τιμή και έαν γίνεται για καθε προϊον πόσες φορές έχει γίνει αλλάγη της τιμής του από όλα τα καταστήματα Έχω δοκιμάσει κάτι τέτοιο για το πρώτο αλλά δεν βγάζει σωστά αποτελέσματα.... SELECT ProdID, PlaceID, Cost, MAX( JulDat ) , Count( JulDat )FROM PricesGROUP BY ProdID, PlaceID
warlock9_0 Δημοσ. 25 Μαΐου 2013 Δημοσ. 25 Μαΐου 2013 αυτό παίζει? select p1.prodid, p1.placeid, p1.cost, p1.juldat, p3.changes from prices p1 inner join (select prodid, max(juldat) as latest from prices group by prodid) p2 on p1.prodid = p2.prodid and p1.juldat = p2.latest inner join ( select prodid, count(*) as changes from prices group by prodid) p3 on p1.prodid = p3.prodid
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα