Pivot-Tabelle mit group by
select out.a,out.b from out
pivot (count([event]) for [date] in ([Mon],[Tues])) as event_count
group by out.a,out.b
während der Ausführung dieser Abfrage erhalte ich die folgende Fehlermeldung:
Der mehrteilige Bezeichner aus.ein,aus.b konnte nicht gebunden werden
InformationsquelleAutor user87 | 2012-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen Sie die
GROUP BY
- Klausel und alias -out
Spaltena
undb
etwa so:SQL Fiddle Demo
Beachten Sie, dass: Bei der Verwendung der
PIVOT
- Tabelle-operator, die Sie nicht explizit angeben müssen, die die Gruppierung der Elemente, in Ihrem Falla, b
oder in der Quelltabelle, die Sie brauchen, um es zu entfernen, die aus der Abfrage und aus der Quell-Tabelle. DiePIVOT
Betreiber wird automatisch zahlen heraus, die Spalten, die Sie wollenGROUP BY
, und diese Spalten sind diejenigen, die wurden nicht angegeben, der entweder diedate
oder die aggregation element derevent
in Ihrem Fall, den rest werden die gruppierten Spalten.Thats, warum haben Sie die Liste der Spalten die Namen explizit statt
FROM out
, sofern die Tabelleout
enthält, die andere Spalten alsa, b, date, event
. In diesem Fall müssen Sie, um dies zu tun:InformationsquelleAutor Mahmoud Gamal
klingt wie Sie brauchen zu ersetzen.eine auf [Mon] an und aus.b auf [di]
Demo auf SQLFiddle
InformationsquelleAutor Aleksandr Fedorenko
Ich bin nicht sicher, dass Ihre Abfrage, aber kann sein, dass das ist, was Sie suchen
InformationsquelleAutor praveen