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

περί access 2007


lammis

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

Δημοσ.

Έχω φτιάξει δυο πίνακες, ο ένας είναι ΕΣΟΔΑ με πεδία (ΑΙΤΙΟΛΟΓΙΑ - ΠΟΣΟ) και ο άλλος ΕΞΟΔΑ (ΑΙΤΙΟΛΟΓΙΑ - ΠΟΣΟ).

Το ζητούμενο είναι πως να δημιουργήσω ένα ερώτημα (ΕΣΟΔΑ-ΕΞΟΔΑ) που να περιέχει τα εξής πεδία (ΕΣΟΔΑ.ΑΙΤΙΟΛΟΓΙΑ - ΕΣΟΔΑ.ΠΟΣΟ - ΕΞΟΔΑ.ΑΙΤΙΟΛΟΓΙΑ - ΕΞΟΔΑ.ΠΟΣΟ - ΤΑΜΕΙΟ)

Παραθέτω τον τύπο sql που έχω κάνει μέχρι τώρα

 

SELECT ΕΣΟΔΑ.ΑΙΤΙΟΛΟΓΙΑ, Sum(ΕΣΟΔΑ.ΠΟΣΟ) AS ΕΣΟΔΑΠΟΣΟ, ΕΞΟΔΑ.ΑΙΤΙΟΛΟΓΙΑ, Sum(ΕΞΟΔΑ.ΠΟΣΟ) AS ΕΞΟΔΑΠΟΣΟ, TAMEIO AS Eκφρ1

FROM ΕΣΟΔΑ, ΕΞΟΔΑ

GROUP BY ΕΣΟΔΑ.ΑΙΤΙΟΛΟΓΙΑ, ΕΞΟΔΑ.ΑΙΤΙΟΛΟΓΙΑ;

 

έχω κολλήσει με το πεδίο ΤΑΜΕΙΟ που θέλω να περιλαμβάνει μια αφαίρεση των συνόλων (ΕΣΟΔΑΠΟΣΟ)-( ΕΞΟΔΑΠΟΣΟ)

Ευχαριστώ

Δημοσ.

Δεν καταλαβαίνω τι θέλεις να δείξεις με το ερώτημα. Υποψιάζομαι ότι πρέπει να κάνεις ένα join κάπου. Θέλεις να εξηγήσεις τι ακριβώς έχουν οι δύο πίνακες και τι θέλεις να πετύχεις με το ερώτημα;

Δημοσ.

Φιλέ Τάσο καλησπέρα

θέλω να κάνω αυτό το ερώτημα έτσι ώστε έπειτα να κάνω μια έκθεση η όποια θα είναι κάπως έτσι

ΕΣΟΔΑ

ΑΠΟ ΑΙΤΙΟΛΟΓΙΑ : ΣΥΝΔΡΟΜΗ 100

ΑΠΟ ΑΙΤΙΟΛΟΓΙΑ : ΕΣΟΔΑ 50

 

ΕΞΟΔΑ

ΑΠΟ ΑΙΤΙΟΛΟΓΙΑ : ΠΛΗΡΩΜΗ 150

ΑΠΟ ΑΙΤΙΟΛΟΓΙΑ : ΕΞΟΔΑ 50

 

ΤΑΜΕΙΟ : -50

Δημοσ.

Λοιπόν, για να καταλάβω καλά...

 

Θέλεις το άθροισμα των εσόδων ανά αιτιολογία, και αντίστοιχα για τα έξοδα. Αφού μετά πάρεις τα συνολικά έσοδα (άθροισμα των επιμέρους αθροισμάτων) και αντίστοιχα έξοδα να βγάλεις ένα ισοζύγιο, δηλαδή αν τελικά έχω έσοδα ή έξοδα και πόσο. Στο παραπάνω σενάριο, δεν εχει σημασία ποιος είναι ο συναλλασόμενος. Σωστά το κατάλαβα;

 

Η μήπως θέλεις να βγάλεις ισοζύγιο ανά αιτιολογία;

Δημοσ.

Θέλεις το άθροισμα των εσόδων ανά αιτιολογία, και αντίστοιχα για τα έξοδα. Αφού μετά πάρεις τα συνολικά έσοδα (άθροισμα των επιμέρους αθροισμάτων) και αντίστοιχα έξοδα να βγάλεις ένα ισοζύγιο, δηλαδή αν τελικά έχω έσοδα ή έξοδα και πόσο. Στο παραπάνω σενάριο, δεν εχει σημασία ποιος είναι ο συναλλασόμενος. Σωστά το κατάλαβα;

 

αυτό θέλω να κάνω φίλε μου που περιγράφεις παραπάνω (αν γίνετε βέβαια)

Δημοσ.

Οι ερωτήσεις που παίρνεις τα δεδομένα ανά αιτολογία είναι οι παρακάτω.

 

>SELECT SUM(ΠΟΣΟ),ΑΙΤΙΟΛΟΓΙΑ FROM ΕΣΟΔΑ GROUP BY ΑΙΤΙΟΛΟΓΙΑ
SELECT SUM(ΠΟΣΟ),ΑΙΤΙΟΛΟΓΙΑ FROM ΕΞΟΔΑ GROUP BY ΑΙΤΙΟΛΟΓΙΑ

 

Για να πάρεις τα συνολικά έσοδα κ έξοδα κάνεις τα παρακάτω

 

>SELECT SUM(ΠΟΣΟ),ΑΙΤΙΟΛΟΓΙΑ FROM ΕΣΟΔΑ
SELECT SUM(ΠΟΣΟ),ΑΙΤΙΟΛΟΓΙΑ FROM ΕΞΟΔΑ

 

Και μετά, για να πάρεις ένα τελικό ισοζύγιο θα κάνεις απλά την αφαίρεση.

>SELECT SUM(ΣΥΝΟΛΟ)
FROM
(SELECT *
FROM
            (SELECT SUM(ΠΟΣΟ) AS ΣΥΝΟΛΟ FROM ΕΣΟΔΑ) 
UNION 
            (SELECT SUM(ΠΟΣΟ)*(-1) AS ΣΥΝΟΛΟ FROM ΕΞΟΔΑ))

 

Λίγο πολύπλοκο το τελευταίο, ε; Ίσως αν δοκίμαζες μία άλλη δομή στους πίνακες σου να ήταν καλύτερα. Θα πρότεινα οι πίνακες ΕΣΟΔΑ και ΕΞΟΔΑ να είναι ένας, π.χ. ΚΙΝΗΣΕΙΣ, και είτε να έχεις ένα επιπλέον πεδίο ΚΙΝΗΣΕΙΣ.ΤΥΠΟΣ, όπου θα παίρνει δύο τιμές, 'ΕΙΣΟΔΟΣ'. 'ΕΞΟΔΟΣ'. Έτσι θα βγαίνουν πιο εύκολα κάποια αθροίσματα. Γίνεται έτσι πιο πολύπλοκος ο πίνακας ΚΙΝΗΣΕΙΣ. Απλά αναφέρω κ μία εναλλακτική, χωρίς να είναι απαραίτητα πιο σωστή.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...