Ho una domanda in cui sto cercando valori di riga pivot in nomi delle colonne e attualmente sto usando SUM(Case...) As 'ColumnName'
dichiarazioni, in questo modo:SQL dinamico per generare nomi di colonne?
SELECT
SKU1,
SUM(Case When Sku2=157 Then Quantity Else 0 End) As '157',
SUM(Case When Sku2=158 Then Quantity Else 0 End) As '158',
SUM(Case When Sku2=167 Then Quantity Else 0 End) As '167'
FROM
OrderDetailDeliveryReview
Group By
OrderShipToID,
DeliveryDate,
SKU1
La query sopra funziona alla grande e mi dà esattamente quello che mi serve. Comunque, sto scrivendo la SUM(Case...
dichiarazioni a mano sulla base dei risultati della query seguente:
Select Distinct Sku2 From OrderDetailDeliveryReview
c'è un modo, utilizzando T-SQL all'interno di una stored procedure, che posso generare dinamicamente le dichiarazioni SUM(Case...
dalla query Select Distinct Sku2 From OrderDetailDeliveryReview
e quindi eseguire il codice SQL risultante?
Grazie per la risposta. Ho visto molte risposte che usano 'COALESCE', ma cosa sta facendo esattamente questa funzione? –
Inoltre, se provo a eseguire la query così com'è, viene visualizzato un errore nella riga 15: "Sintassi non corretta accanto alla parola chiave" FROM "." Se rimuovo la virgola alla fine della riga 14, ottengo quindi un messaggio di errore su * line 3 * che dice "Sintassi errata vicino a" SUM "" Qualche idea su cosa sta succedendo qui o su come eseguire il debug di questo? –
@Cade Roux Ok, ho ottimizzato il codice (inserire la virgola tra le virgolette alla fine della riga 14, aggiunta una linea per tagliare la virgola di @column_list).Ora funziona, il che è fantastico, ma non riesco a capire cosa succede tra le righe 14 e 17. –