Konvertieren von Zeilen in Spalten in einer Sql-Abfrage

Ich habe harte Zeit, herauszufinden, diese bitte mir helfen
Ich habe mal in/aus sql-Abfrage
Ich habe eine Tabelle sieht wie folgt aus. es gibt vier Spalten zeigt die Zeit in/out info wie...

Date Day    Day  TimeStamp CheckType   
10/11/2014  Sat  8:30 am    in
10/11/2014  Sat  11:30am    out
10/11/2014  Sat  1:30pm     in
10/11/2014  Sat             out
10/12/2014  Sun  9:00am     in
10/12/2014  Sun  11:20pm    out
10/12/2014  Sun  5:20pm     out
10/13/2014  Mon  8:00am     in
10/13/2014  Mon  6:10pm     in

also wer checkin oder checkout, dann wird der Datensatz-Anzeige das Ergebnis in Ordnung und wenn jemand soll, heraus zu überprüfen, aber versehentlich gedrückt Schaltfläche, dann wird das display wie es ist (in), oder wenn jemand vergessen, dass Sie dann, dass der Raum zeigt leere

Ich versuche konvertieren von Zeilen in Spalten-und Darstellung dieser Informationen in unten

Date       Day   Time  Type  Time   Type Time  Type  Time  Type etc-----
10/11/2014 Sat  8:30am in  11:30am  out 1:30pm  in     
10/12/2014 Sun  9:00am in  11:20am  out 1:20pm  in  6:20pm in
10/13/2014 Mon  8:00am in  6:10pm   out
10/14/2014 Tus  8:20am in
etc

Habe ich versucht, pivot -

select Date, Day, [1],[2],[3],[4],[5],[6],[7],[8],[9],[10] etc---
from
(
select Date, Day, Stamptime, CheckTime, userID
from a table
)
pivot
(
    max(StampTime)
    for stamptime in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10] etc---)
) as PivotTable

kann mir jemand erklären, wie konvertieren von Zeilen in Spalten ich habe verbrachte viele Tage schon.

  • SQL Fiddle: sqlfiddle.com/#!6/0174d (mit ein paar Optimierungen, die auf der original-Tabelle)
  • Sie können das nicht (in der Datenbank, in der UI ist OK). Das Problem ist an einem Tag können Sie haben 1 check-in, am nächsten Tag haben Sie möglicherweise 2 check-ins und 1 check-out. Das bedeutet, dass die Anzahl der erforderlichen Spalten für den ersten Tag ist anders, um die erforderliche Anzahl für die zweite. Es bedeutet auch, Sie nicht wissen, die maximale Anzahl der Spalten, die Sie benötigen. Sie können in der Lage sein zu umgehen, indem man die Ausgabe in XML anstelle von Daten der Tabelle, aber wirklich, ich glaube, du bist die Schaffung Schmerz für dich / sollten überdenken Ihre Herangehensweise an das problem.
InformationsquelleAutor Steve | 2014-10-12
Schreibe einen Kommentar