Είμαι σε φάση μιας πολύ βαρετής και δύσκολης μεταφοράς δεδομένων από μια πολύ παλιά βάση (access 97) με πολλές σχεδιαστικές ατέλειες σε μια καινούργια στο SQL Server 2005. Η βάση περιέχει μερικούς πίνακες που περιέχουν συσχετιζόμενους πίνακες 2 σε 1! π.χ. το κλασσικό παράδειγμα order-order details είναι κάπως έτσι:
OrderID CustomerID Date OrderItem1 OrderItem1Count OrderItem2 OrderItem2Count κλπ.
Για να μετατρέψω τα order items σε κανονικό πίνακα που έχει 3 στήλες (OrderID, OrderItem, OrderCount) κάνω το εξής:
SELECT OrderID, OrderItem1, OrderItem1Count FROM Orders
UNION
SELECT OrderID, OrderItem2, OrderItem2Count FROM Orders
Υπάρχει κάποιος πιο elegant τρόπος; Π.χ. κάποια εντολή που να κάνει transpose των στηλών σε γραμμές...
Τα δεδομένα τα έχω μεταφέρει πρώτα σε sql server και μετά εκτελώ αυτά τα queries, έτσι ώστε να μην έχω περιορισμούς από την access.
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.