Eventuali duplicati:
SQL Server: Can I Comma Delimit Multiple Rows Into One Column?Se count (valori)> 1, si combinano tutti i valori in una singola cella
Vorrei unire tutti i record in un determinato campo in un unico cella (per valore da un'altra colonna) se il numero dei record è superiore a 1. Ad esempio, se ho il seguente codice
SELECT city, count(zoo name) AS 'count of zoo name' FROM mytable
Sarebbe generare il sotto i risultati
La tabella originale assomiglia a questo
Dato che sia Atlanta e New York hanno più di uno zoo e Tokyo ha un solo zoo, il il risultato finale dovrebbe apparire come
Come faccio a fare questo? Ho pensato di usare il costrutto PIVOT, ma questo crea nuove colonne per ogni possibile valore. Dovrei anche scrivere il nome di ogni possibile nome di zoo nel PIVOT. Questa sarebbe una cattiva forma dal momento che i dati effettivi hanno valori molto più possibili di "nome dello zoo" rispetto a quanto sopra.
vorrei tagliare questo risultato per rimuovere fine virgola di. 'SINISTRA (concat, LEN (concat) -1)' – Kermit
Questo si conclude con un extra ',' alla fine quindi potresti volerlo avvolgere in un'altra selezione e aggiungere 'left (concat, len (concat) -1) 'al campo conciso – Taryn
Aggiornato la mia risposta. Grazie per indicarlo fuori! – praveen