Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Εδώ και ένα μήνα προσπαθώ να βρώ λύση σε μια βάση δεδομένων που έχω κάνει σε access 2007. Πρόκειται για δύο πίνακες ανεξάρτητους μεταξύ τους ( το αρχείο το έχω επισυνάψει σε pdf μορφή ) και θέλω να βρώ πόσες φορές στο παρελθόν έχει να έρθει σκορ ημιχρόνου 0 - 0 στις  τριάδες συντελεστών του πίνακα temporaty_base.
ευχαριστώ εκ τον προτέρων για κάθε βοήθεια
Νεόφυτος

βοήθεια σε εντολές sql.pdf

Δημοσ.


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;

 

Δημοσ.

Ευχαριστώ για την άμεση απάντηση αλλά θα ήθελα κάποιες διευκρινίσεις πάνω στον κώδικα, γιατί οι αντιστοιχίες με έχουν μπερδέψει λίγο.
 

select rate1, rate2,rateX,count(*)

from temporaty_base,base
where
(((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 . κ.λ.π

Φιλικά

Νεόφυτος

Δημοσ.

Η πολυπλοκότητα του κώδικα είναι στα ουράνια, κάπου έχει λάθος…….
Παρεμπίπτοντος  δεν θέλω να δημιουργηθεί νέος πίνακας μου αρκεί σε αυτό το στάδιο να δω τα αποτελέσματα σωστά :cry:

 

SELECT base.[Rate 1], base.[Rate X], base.[Rate 2], Count(*) AS Σύνολο
FROM base, temporary_base
WHERE (
((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 base
where
((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];

Δημοσ.
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

Δημοσ.
οπως ειναι copy paste

Μπήκες που μπήκες στον κόπο να δώσεις μια λύση στον άνθρωπο ..ξόδεψε και λίγο χρόνο να του εξηγήσεις 

Δημοσ. (επεξεργασμένο)
οπως ειναι 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 θα μάθει για όλα τα παραπανω απο πηγές πολύ πιο αναλυτικές απο μενα

Επεξ/σία από Aztec
  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...