theodoridis Δημοσ. 18 Ιουνίου 2015 Δημοσ. 18 Ιουνίου 2015 Εδώ και ένα μήνα προσπαθώ να βρώ λύση σε μια βάση δεδομένων που έχω κάνει σε access 2007. Πρόκειται για δύο πίνακες ανεξάρτητους μεταξύ τους ( το αρχείο το έχω επισυνάψει σε pdf μορφή ) και θέλω να βρώ πόσες φορές στο παρελθόν έχει να έρθει σκορ ημιχρόνου 0 - 0 στις τριάδες συντελεστών του πίνακα temporaty_base.ευχαριστώ εκ τον προτέρων για κάθε βοήθειαΝεόφυτος βοήθεια σε εντολές sql.pdf
Aztec Δημοσ. 18 Ιουνίου 2015 Δημοσ. 18 Ιουνίου 2015 select a.rate_1,a.rate_2,a.rate_3, count(1) from temporary_base a , base b where a.rate_1=b.rate_1 and a.rate_2=b.rate_2 and a.rate_3=b.rate_3 and b.date > (select max(date) from base c where c.rate_1=b.rate_1 and c.rate_2=b.rate_2 and c.rate_3=b.rate_3 and c.half_home=0 and c.half_guest=0) group by a.rate_1,a.rate_2,a.rate_3;
theodoridis Δημοσ. 19 Ιουνίου 2015 Μέλος Δημοσ. 19 Ιουνίου 2015 Ευχαριστώ για την άμεση απάντηση αλλά θα ήθελα κάποιες διευκρινίσεις πάνω στον κώδικα, γιατί οι αντιστοιχίες με έχουν μπερδέψει λίγο. select rate1, rate2,rateX,count(*) from temporaty_base,basewhere(((base.[rate1])=(temporary_base.[rate1]))and ((base.[rate X])=(temporary_base.[rate X]))and ((base.[rate 2])=(temporary_base.[rate 2]))and ((base.[date]) > (select max ((base.[date])) where ...... )Μέχρι εδώ το κατάλαβα απο εδώ και κάτω δεν μπορώ να αντιστοιχίσω το c.rate_1 με το b.rate_1 . κ.λ.πΦιλικά Νεόφυτος
theodoridis Δημοσ. 21 Ιουνίου 2015 Μέλος Δημοσ. 21 Ιουνίου 2015 Η πολυπλοκότητα του κώδικα είναι στα ουράνια, κάπου έχει λάθος…….Παρεμπίπτοντος δεν θέλω να δημιουργηθεί νέος πίνακας μου αρκεί σε αυτό το στάδιο να δω τα αποτελέσματα σωστά SELECT base.[Rate 1], base.[Rate X], base.[Rate 2], Count(*) AS ΣύνολοFROM base, temporary_baseWHERE (((base.[Rate 1])=(temporary_base.[Rate 1])) And((base.[Rate X])=(temporary_base.[Rate X])) And((base.[Rate 2])=(temporary_base.[Rate 2])) And((base.date)>(SELECT max (base.date) from basewhere((base.[Rate 1])=(temporary_base.[Rate 1])) And((base.[Rate X])=(temporary_base.[Rate X])) And((base.[Rate 2])=(temporary_base.[Rate 2])) And(base.[half time result home]=0) and(base.[half time result guest]=0))))GROUP BY base.[Rate 1], base.[Rate X], base.[Rate 2];
Aztec Δημοσ. 21 Ιουνίου 2015 Δημοσ. 21 Ιουνίου 2015 select a.[Rate 1],a.[Rate X],a.[Rate 2], count(1) from temporary_base a , base b where a.[Rate 1]=b.[Rate 1] and a.[Rate X]=b.[Rate X] and a.[Rate 2]=b.[Rate 2] and b.date > (select max(c.date) from base c where c.[Rate 1]=b.[Rate 1] and c.[Rate X]=b.[Rate X] and c.[Rate 2]=b.[Rate 2] and c.[half time result home]=0 and c.[half time result guest]=0) group by a.[Rate 1],a.[Rate X],a.[Rate 2]; οπως ειναι copy paste
visualizer Δημοσ. 21 Ιουνίου 2015 Δημοσ. 21 Ιουνίου 2015 οπως ειναι copy paste Μπήκες που μπήκες στον κόπο να δώσεις μια λύση στον άνθρωπο ..ξόδεψε και λίγο χρόνο να του εξηγήσεις
Aztec Δημοσ. 21 Ιουνίου 2015 Δημοσ. 21 Ιουνίου 2015 (επεξεργασμένο) οπως ειναι copy pasteΜπήκες που μπήκες στον κόπο να δώσεις μια λύση στον άνθρωπο ..ξόδεψε και λίγο χρόνο να του εξηγήσεις Ξέρω γιατί λέω copy paste ... δεν μπορεί να εβαλε μόνος του όλες αυτες τις παρενθέσεις ...κάποιος τον περιόρισε. Απλά πρέπει να το ρίξει σε SQL View Αλλα εχεις δίκιο το query κάνει χρήση 1.Inner join 2.Aggregate functions 3.Access specific delimited identifiers 4.Table alias 5.Correlated/Synchronized subquery Αυτα λοιπον τα αφήνω πάνω του γιατι προσπαθώντας να καταλάβει το query θα μάθει για όλα τα παραπανω απο πηγές πολύ πιο αναλυτικές απο μενα Επεξ/σία 21 Ιουνίου 2015 από Aztec 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα