Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Query σε SQL που δεν δουλεύει σε Oracle SQL.

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος pontifikas στις 01-12-2005, 10:55. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-11-2005, 13:15 7337

    Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Έχω ένα table(personel) που περιέχει λιστα εργαζομένων με το department τους.
    Έχω και ένα δεύτερο(Productivity) που περιέχει την παραγωγικότητά(score) τους αξιολογημένη από 10 κριτές.
    Θέλω, ανά department, τον πιο παραγωγικό εργαζόμενο δηλαδή αυτόν με τον μεγαλύτερο Μέσο Όρο score.

    Εδώ είναι το sQL που έβαλα στον SQL server και δούλεψε

    select B.rname,B.dept
    from Personel B
    where B.rname=
    (
    select  top 1 D.rname
    from Productivity C,Personel D
    where D.rname=C.Clerk_name and B.dept = D.dept
    group by D.rname,D.dept
    order by D.dept,avg(C.score) desc
    )


    Και εδώ το SQL Που έβαλα στην Oracle και κλώτσησε
    " group by D.rname,D.dept
                                         *" missing right parenthesis.

    select B.rname,B.dept

    from Personel B

    where B.rname=

    (

    select D.rname

    from Productivity C,Personel D

    where D.rname=C.Clerk_name and B.dept = D.dept and rownum=1

    group by D.rname,D.dept

    order by D.dept,avg(C.score) desc

    )



    Από κατι δοκιμές που έκανα έφτασα στο συμπέρασμα ότι η Oracle δεν θέλει order by σε nested queries.
    Αλλά δεν μπορώ να σκεφτώ πώς αλλιώς να κάνω το query. ήδη δυσκολεύτηκα και για αυτό.
    Καμοιά βοήθεια για το πώς να το γράψω αλλιώς?
  •  27-11-2005, 13:17 7339 σε απάντηση της 7337

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Σβήστε το αυτό παιδιά.
    Μου έβγαζε σφάλμα η σελίδα για αυτό το ξαναέστειλα αλλά τελικά το είχε αποθηκεύσει.
  •  27-11-2005, 16:33 7342 σε απάντηση της 7339

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

     pontifikas wrote:
    Σβήστε το αυτό παιδιά.
    Μου έβγαζε σφάλμα η σελίδα για αυτό το ξαναέστειλα αλλά τελικά το είχε αποθηκεύσει.

    Τι ακριβώς λάθος έβγαζε; Τι προσπαθούσες να κάνεις και δεν το έκανε;

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  27-11-2005, 16:37 7343 σε απάντηση της 7342

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Προσπάθησα να καταχωρήσω το thread και μου έβγαλε ότι δεν μπορεί προς το παρών να εξυπηρετήσει το αίτημά μου, παρόλα αυτά μου το καταχώρησε.
    Το ίδιο έγινε και με το Post Που ζητάω να σβηστεί.
  •  27-11-2005, 16:38 7344 σε απάντηση της 7343

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Και το ίδιο έβγαλε και για το Post που μόλις έγραψα.
    Φαντάζομαι το ίδιο θα μου βγάλει και κατά την καταχώρηση του παρόντος Stick out tongue [:P]

    Αυτή τη στιγμή δεν είναι δυνατόν να εξυπηρετήσουμε το αίτημά σας

    Ζητούμε συγνώμη, αλλά ένα σφάλμα εμφανίστηκε και το αίτημά σας δεν θα μπορούσε να ολοκληρωθεί.

    Το σφάλμα έχει καταγραφεί. Αν έχετε περισσότερες πληροφορίες που θα βοηθούσαν στην επίλυσή του, παρακαλούμε αναφέρατε το πρόβλημα εδώ
  •  27-11-2005, 17:54 7346 σε απάντηση της 7344

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Νομίζω ότι το βρήκα...

    Πρέπει να έχει αποκατασταθεί το πρόβλημα τώρα...

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  28-11-2005, 14:04 7382 σε απάντηση της 7346

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

     gcapnias wrote:

    Νομίζω ότι το βρήκα...

    Πρέπει να έχει αποκατασταθεί το πρόβλημα τώρα...

     

    George J.



    Μήπως βρήκες και καμοιά λύση στο πρόβλημά μου Confused [8-)]Embarrassed [:$]
  •  29-11-2005, 09:49 7398 σε απάντηση της 7337

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    SELECT Z.AvgScore Score, Z.Dept Dept, Z.Clerk_Name name FROM
    	(SELECT AVG(P3.Score) AvgScore, P3.Clerk_Name Clerk_Name, D3.Dept Dept 
    	FROM Productivity P3, Personnel D3
    	WHERE P3.CLERK_NAME = D3.rname 
    	GROUP BY P3.Clerk_Name, D3.Dept) Z,
    	  
    	(SELECT MAX(AvgScore) MaxScore, X.Dept Dept FROM
    		(SELECT AVG(P2.Score) AvgScore, P2.Clerk_Name Clerk_Name, D2.Dept Dept 
    		FROM Productivity P2, Personnel D2
    		WHERE P2.CLERK_NAME = D2.rname 
    		GROUP BY P2.Clerk_Name, D2.Dept) X
    	GROUP BY X.Dept) Y
    WHERE Z.AvgScore = Y.MaxScore AND Z.Dept = Y.Dept 
    

    Κοινώς πιάσε το αυτί σου ανάποδα... Καλώς ήλθες στον υπέροχο κόσμο της Oracle!

    Πάντως θα γινόταν πολύ πιο απλό με 1-2 functions (μια που επιστρέφει το μέσο βαθμό εργαζομένου και μια που επιστρέφει το μέγιστο βαθμό ανά τμήμα).

    Το παραπάνω query θα σου επιστρέψει πολλούς υπαλλήλους ανά τμήμα σε περίπτωση ισοβαθμίας.


    Νατάσα Μανουσοπούλου
  •  29-11-2005, 10:30 7400 σε απάντηση της 7398

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

     mns wrote:
    SELECT Z.AvgScore Score, Z.Dept Dept, Z.Clerk_Name name FROM
    (SELECT AVG(P3.Score) AvgScore, P3.Clerk_Name Clerk_Name, D3.Dept Dept
    FROM Productivity P3, Personnel D3
    WHERE P3.CLERK_NAME = D3.rname
    GROUP BY P3.Clerk_Name, D3.Dept) Z,

    (SELECT MAX(AvgScore) MaxScore, X.Dept Dept FROM
    (SELECT AVG(P2.Score) AvgScore, P2.Clerk_Name Clerk_Name, D2.Dept Dept
    FROM Productivity P2, Personnel D2
    WHERE P2.CLERK_NAME = D2.rname
    GROUP BY P2.Clerk_Name, D2.Dept) X
    GROUP BY X.Dept) Y
    WHERE Z.AvgScore = Y.MaxScore AND Z.Dept = Y.Dept

    Κοινώς πιάσε το αυτί σου ανάποδα... Καλώς ήλθες στον υπέροχο κόσμο της Oracle!



    Surprise [:O]Surprise [:O]Surprise [:O]
    Ευχαριστώ mns θα το τσεκάρω το απόγευμα που θα πάω σπίτι και θα σου πώ.
    Ας δουλέψει αυτό και βλέπω για διπλοεγγραφές.
  •  30-11-2005, 10:23 7425 σε απάντηση της 7337

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Φίλε mns σε ευχαριστώ πολυ. Δούλεψε. Smile [:)]
    Και οι διπλές εγγραφές είναι μάλλον επιθυμητές.
  •  30-11-2005, 10:34 7426 σε απάντηση της 7425

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

    Είμαι φίλη και ουχί φίλος, αλλά δεν παρεξηγούμαι :-)
    Νατάσα Μανουσοπούλου
  •  01-12-2005, 10:55 7464 σε απάντηση της 7426

    Απ: Query σε SQL που δεν δουλεύει σε Oracle SQL.

     mns wrote:
    Είμαι φίλη και ουχί φίλος, αλλά δεν παρεξηγούμαι :-)


    Embarrassed [:$]
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems