Ερωτημα σε SQL

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

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

Απάντηση
tiffgraf
Δημοσιεύσεις: 4
Εγγραφή: 08 Μαρ 2011 00:05

Ερωτημα σε SQL

Δημοσίευση από tiffgraf » 08 Μαρ 2011 00:35

Καλησπέρα σε όλους και καλή Σαρακοστή.
Θέλω να ρωτήσω επάνω στην sql όποιον ξέρει σε περιβάλλον oracle να μου δώσει μια ιδέα για το πως θα κινηθώ στο να σχηματίσω ένα ερώτημα για έναν πίνακα στην περίπτωση που:

Ας πούμε πως έχω έναν πίνακα με βιβλία. Κάθε βιβλίο παίρνει μοναδικό κωδικό όταν καταχωρείται ο οποίος είναι και το κλειδί.
Στον πίνακα εισάγουμε και την ημερομηνία εγγραφής.
Το ερωτημα σε SQL ειναι το εξης : υπαρχουν ανω της μια εγγραφης(Κωδικος βιβλιου) σε μια ημερα(Ημερομηνια) σε ποια?

Δηλαδη θέλω να κοιτάξω αν για την ίδια ημερομηνία έχουν γίνει παραπάνω από μία εγγραφές και να εμφανίσω ως αποτέλεσμα του ερωτήματος
εφόσον υπάρχουν μόνο την συγκεκριμένη ημερομηνία και τους κωδικούς βιβλίων που αντιστοιχούν σε αυτή.

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

Αυτό που θέλω είναι να αντιστοιχήσω το count των κωδικών με την ημερομηνία. Δηλαδή αντί να πάρω πχ

Ημερομηνία Κωδικοί
17-03-05 3

Να βγάλω

Ημερομηνία Κωδικοί
17-03-05 0001
17-03-05 0002
17-03-05 0003

Γίνεται με κάποιο υποερώτημα;
Κάποια εντολή;

Κάθε βοήθεια ευπρόσδεκτη ευχαριστώ πολύ.

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27629
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Ερωτημα σε SQL

Δημοσίευση από cordis » 08 Μαρ 2011 00:37

για δείξε μας το sql που έχεις και σου βγάζει μόνο το πλήθος, για να το κοιτάξουμε.
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

tiffgraf
Δημοσιεύσεις: 4
Εγγραφή: 08 Μαρ 2011 00:05

Ερωτημα σε SQL

Δημοσίευση από tiffgraf » 08 Μαρ 2011 00:55

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

SELECT ΗΜΕΡ_ΝΙΑ, COUNT(Κ_ΠΑΡ)
FROM ΠΑΡΑΓΓΕΛΙΑ
GROUP BY ΗΜΕΡ_ΝΙΑ
HAVING COUNT(Κ_ΠΑΡ) > 1

και μου βγαζει σαν απαντηση

Ημερομηνία πληθος Κωδικων
17-03-05 3

ενω εγω θελω να δειχνει σαν απαντηση

Ημερομηνία Κωδικοί
17-03-05 0001
17-03-05 0002
17-03-05 0003

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Ερωτημα σε SQL

Δημοσίευση από fafos » 08 Μαρ 2011 01:47

an milagame gia mysql tha xrhsimopoiousame thn GROUP_CONCAT() kai tha teleioname

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

SELECT ΗΜΕΡ_ΝΙΑ, COUNT&#40;Κ_ΠΑΡ&#41; as ΣΥΝ_ΠΑΡ, GROUP_CONCAT&#40;Κ_ΠΑΡ SEPARATOR '<br />'&#41; as ΠΑΡ FROM ΠΑΡΑΓΓΕΛΙΑ GROUP BY ΗΜΕΡ_ΝΙΑ HAVING COUNT&#40;Κ_ΠΑΡ&#41; > 1 
sthn SQL den thymamai na exei thn GROUP_CONCAT() (exo na asxolhtho xronia kai mporei na yparxei kati antistoixo tora) alla sigoura mporeis na vreis kati analogo.. isos me allo ena select mesa sto query..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

tiffgraf
Δημοσιεύσεις: 4
Εγγραφή: 08 Μαρ 2011 00:05

Ερωτημα σε SQL

Δημοσίευση από tiffgraf » 08 Μαρ 2011 12:04

Το πλήθος θέλω να αντιστοιχίσω με τους κωδικούς που αυτό αντιστοιχεί. Δηλαδή ενταξει βρήκαμε ας πούμε πως την τάδε του μηνός εισήχθησαν στο σύστημα 2 κωδικοί. Στο ίδιο ερώτημα πως θα δω ποιοι κωδικοί είναι αυτοί; Αυτό ψάχνω να βρω. Ευχαριστώ για όλες τις απαντήσεις.

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27629
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Ερωτημα σε SQL

Δημοσίευση από cordis » 09 Μαρ 2011 00:54

δοκίμασε αυτό:

SELECT Ημερομηνία, Κωδικοί, COUNT(Κωδικοί)
FROM Παραγγελία
GROUP BY Ημερομηνία, Κωδικοί
HAVING COUNT(Κωδικοί) > 1
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

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

Ερωτημα σε SQL

Δημοσίευση από dva_dev » 09 Μαρ 2011 14:38

Δοκίμασε και κάτι σαν το

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

SELECT ΗΜΕΡ_ΝΙΑ, Κ_ΠΑΡ
FROM ΠΑΡΑΓΓΕΛΙΑ P
&#40;
	SELECT ΗΜΕΡ_ΝΙΑ
	FROM ΠΑΡΑΓΓΕΛΙΑ
	GROUP BY ΗΜΕΡ_ΝΙΑ
	HAVING COUNT&#40;Κ_ΠΑΡ&#41; > 1
&#41; TMP
ON &#40;P.ΗΜΕΡ_ΝΙΑ = TMP.ΗΜΕΡ_ΝΙΑ&#41;

tiffgraf
Δημοσιεύσεις: 4
Εγγραφή: 08 Μαρ 2011 00:05

Ερωτημα σε SQL

Δημοσίευση από tiffgraf » 10 Μαρ 2011 00:26

Καλησπερα
ευχαριστω ολους για τις απαντησεις σας τελικα το βρηκα αυτο που ζητουσα.

Απάντηση

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

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

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