Righe Di Sql Server Concatenazione
-
21-08-2019 - |
Domanda
Ho una tabella (variabile in effetti), che contiene diverse migliaia di euro (50k circa) righe del modulo:
group (int) isok (bit) x y
20 0 1 1
20 1 2 1
20 1 3 1
20 0 1 2
20 0 2 1
21 1 1 1
21 0 2 1
21 1 3 1
21 0 1 2
21 1 2 2
E per tirare questo client è abbastanza pesante compito, soprattutto perché isok è un po').Quello che vorrei fare è trasformare questo in forma:
group mask
20 01100
21 10101
E magari andare anche un ulteriore passo avanti, che codifica per questo in un lungo etc.
NOTA:Il modo in cui i dati sono memorizzati attualmente non può essere modificato.
È qualcosa di simile a questo possibile in SQL Server 2005, e, se possibile, anche 2000 (molto importante)?
EDIT: Ho dimenticato di mettere in chiaro che la tabella originale è già implicito su ordinazione che deve essere mantenuta, non c'è una colonna che agisce come una sequenza lineare, ma piuttosto l'ordinamento è basato su due altre colonne (interi) come sopra (x & y)
Soluzione
È possibile trattare il bit come una stringa ('0', '1') e la distribuzione di uno dei tanti stringa di aggregazione concatenazione metodi descritti di seguito: http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/