Mam taki stół ...
CustomerID DBColumnName Data
--------------------------------------
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009
Chcę tego ...
Czy jest to możliwe przy użyciu PIVOT?
CustomerID FirstName MiddleName LastName Date
----------------------------------------------------------------------
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009
sql
sql-server
tsql
pivot
pivot-without-aggregate
ctrlShiftBryan
źródło
źródło
tak ale dlaczego !!??
źródło
Pivot
w zapytaniu, a potem przełączyłem się na to i przyjrzałem się planowi wykonania obu razem. To podejście kosztowało 8%, a podejście Pivot zajęło 92%!Warning: Null value is eliminated by an aggregate or other SET operation
źródło
SELECT
stwierdzenie poniżej CTE mogło po prostu określać nazwę oryginalnej tabeli.Edycja: napisałem to bez edytora i nie uruchomiłem SQL. Mam nadzieję, że masz pomysł.
źródło
Ok, przepraszam za kiepskie pytanie. gbn doprowadził mnie na właściwą ścieżkę. Właśnie tego szukałem w odpowiedzi.
Następnie musiałem użyć instrukcji while i zbudować powyższą instrukcję jako varchar i użyć dynmaic sql.
Używając czegoś takiego
Mając do zbudowania @fulltext za pomocą pętli while i wybrania różnych nazw kolumn z tabeli. Dzięki za odpowiedzi.
źródło
OP właściwie nie musiał obracać się bez agregacji, ale dla tych z Was, którzy przyjeżdżają tutaj, aby wiedzieć, jak zobaczyć:
sql sparametryzowane zapytanie cte
Odpowiedź na to pytanie dotyczy sytuacji, w której potrzebny jest pivot bez agregacji, więc przykład wykonania tego jest częścią rozwiązania.
źródło
Spróbuj tego:
źródło
To powinno działać:
źródło
Oto świetny sposób na tworzenie dynamicznych pól dla zapytania przestawnego:
--summarize wartości do tabeli tmp
--- zobacz wygenerowane pola
źródło