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

 

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

SQL PIVOT

Îåêßíçóå áðü ôï ìÝëïò Bill . Τελευταία δημοσίευση από το μέλος Bill στις 14-05-2008, 09:27. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-05-2008, 10:19 41882

    SQL PIVOT

    select field1,field2,[2007],[2008]

    FROM table1

    PIVOT (

    sum(field3)

    for field4

    IN ([2007],[2008])

    )p;

    Έχω μια απλή pivot και θέλω να προσθέσω και where μια συνθήκη απλή.Όταν την προσθέσω και τρέξω το Query μου βγάζει μυνημα λάθος σύνταξης!Γνωρίζει κανείς , μήπως με pivot δεν γίνεται να βάλω where ??


    select DATEDIFF(dd,GetDate(),'20140731') AS EΠΟΜΕΝΕΣ_ΔΙΑΚΟΠΕΣ
  •  09-05-2008, 14:05 41889 σε απάντηση της 41882

    Απ: SQL PIVOT

    Αν δεις τον ορισμό του PIVOT θα δεις ότι αντί για Table1 μπορείς να βάλεις ένα SELECT Statement το οποίο θα επιστρέφει μόνο τις εγγραφές που σε ενδιαφέρουν. Π.χ.

    select field1,field2,[2007],[2008]

    FROM
    (SELECT field1,field2 table1 WHERE Field5='XXX')

    PIVOT (

    sum(field3)

    for field4

    IN ([2007],[2008])

    )p;

    Για να δουλέψει σωστά το PIVOT θα οι τιμές των πεδίων field1, field2 να έχουν αντιστοιχία 1-1, διαφορετικά θα δημιουργηθεί μία σειρά στο αποτέλεσμα για κάθε συνδιασμό τους.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  14-05-2008, 09:27 41976 σε απάντηση της 41889

    Απ: SQL PIVOT

    SmileΣωστόςςςς.....Smile
    select DATEDIFF(dd,GetDate(),'20140731') AS EΠΟΜΕΝΕΣ_ΔΙΑΚΟΠΕΣ
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems