μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Γενικές συζητήσεις για SQL και SQL Servers (RDBMS)

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
mi26
Δημοσιεύσεις: 13
Εγγραφή: 18 Δεκ 2005 01:11

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από mi26 » 18 Δεκ 2005 19:45

Παιδια καλησπερα,
Εχω ενα προβλημα με μια ερωτηση που θελω κανω.

Εχω φτιαξει την βαση μου και εχω μεσα ενα πινακα λογαριασμος με:
ονομα λογαριασμου, υποκαταστημα, υπολοιπο.

Αυτο που θελω να κανω ειναι να γραψω μια ερωτηση που να μου βρισκει για καθε υποκαταστημα που ξεκινα με ονομα Β τους λογαριασμους με το μεγιστο υπολοιπο στο υποκαταστημα. Απλή ή ενθετη ερωτηση ψαχνω

Ξερω πως να το εκφρασω αυτο σε σχεσικη αλγεβρα αλλ δεν μπορω να το γραψω σε sql :evil:

Παρακαλω αν καποιος γνωριζει αν μου δοσει μια λυση!

Ευχαριστω.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από dva_dev » 19 Δεκ 2005 00:07

Δοκίμασε κάτι τέτοιο:

Κώδικας: Επιλογή όλων

SELECT Πίνακας.* FROM Πίνακας INNER JOIN
(
	SELECT Πίνακας.υποκαταστημα, Max(Πίνακας.υπολοιπο) AS X1
	FROM Πίνακας
	GROUP BY Πίνακας.υποκαταστημα
	HAVING (Πίνακας.υποκαταστημα Like "B*")
) AS TempTable ON (TempTable.X1 = Πίνακας.υπολοιπο 
AND TempTable.υποκαταστημα = Πίνακας.υποκαταστημα);

mi26
Δημοσιεύσεις: 13
Εγγραφή: 18 Δεκ 2005 01:11

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από mi26 » 19 Δεκ 2005 12:20

χωρις nested μπορει να γινει με καποιο τροπο;;;;
Γιατι με τα nested μου βγαζει προβλημα!

mi26
Δημοσιεύσεις: 13
Εγγραφή: 18 Δεκ 2005 01:11

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από mi26 » 19 Δεκ 2005 12:33

αυτο που θελω ειναι:

να τα ομαδοποιησω συμφωνα με το ονομα του υποκαταστηματος
και να βρω την μεγαλυτερη τιμη για καθε υποκαταστημα.

Σε σχεσιακη αλγεβρα δηλαδη να εκανα κατι αντιστοιχο:

(υποκαταστημα)G(maxυπολοιπο)[λογαριασμος]

Παρακαλω μια βοηθεια!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από dva_dev » 19 Δεκ 2005 16:05

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

mi26
Δημοσιεύσεις: 13
Εγγραφή: 18 Δεκ 2005 01:11

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από mi26 » 19 Δεκ 2005 17:11

πινακας λογαριαμος

Πεδια:
ονομα, υποκαταστημα , υπολοιπο

Και θα ηθελα αν ειναι δυνατον μια απλη ερωτηση, group by(για παραδειγμα στο υποκαταστημα) και having(για παραδειγμα για να βρω το max) Δεν ξερω αν γινεται ετσι

Ουσιαστικα θελω να υλοποιηση την παραπανω σχεση σε σχεσιακη αλγεβρα!
Και δεν ειναι το προβλημα μου η mysql(που δεν παιζει) απλα θελω να το υλοπποιησω και με μη εμφωλευμενο βροχο!
Ευχαριστω!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από dva_dev » 19 Δεκ 2005 18:12

σε mysql η σύνταξη είναι λίγο διαφορετική

Κώδικας: Επιλογή όλων

SELECT λογαριαμος.*
FROM λογαριαμος INNER JOIN (SELECT λογαριαμος.υποκαταστημα, Max(λογαριαμος.υπολοιπο) AS MaxOfypoloipo
FROM λογαριαμος
GROUP BY λογαριαμος.υποκαταστημα
HAVING (((λογαριαμος.υποκαταστημα) Like "B%"))
) AS TempTable ON (λογαριαμος.υποκαταστημα = TempTable.υποκαταστημα) AND (λογαριαμος.υπολοιπο = TempTable.MaxOfypoloipo);
Χωρίς subquery δεν νομίζω πως μπορεί να γίνει.

mi26
Δημοσιεύσεις: 13
Εγγραφή: 18 Δεκ 2005 01:11

μια ερωτηση που να μου βρισκει για καθε υποκαταστημα...

Δημοσίευση από mi26 » 19 Δεκ 2005 21:14

Ευχαριστω για την βοηθεια φιλε!
Οκ!

Απάντηση

Επιστροφή στο “Βάσεις Δεδομένων και SQL - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες