Buonasera,
ho provato a cercare nel forum qualcosa che facesse al caso mio, ma non ho trovato.
Provo a scrivere di cosa si tratta.
Un mio DB parte dell'importazione di un file .txt non formattato in modo ideale che contiene delle anagrafiche clienti.
Di seguito un esempio di importazione
ID Campo1
1 MARIO ROSSI
2 DESCRIZIONE 1
3 DESCRIZIONE 2
4 DESCRIZIONE 3
5 GIUSEPPE BIANCHI
6 DESCRIZIONE 1
7 DESCRIZIONE 2
8 LUIGI GIALLI
9 DESCRIZIONE 1
10 DESCRIZIONE 2
11 DESCRIZIONE 3
12 DESCRIZIONE 4
Il mio obbiettivo è quello di associare ad ogni "descrizione" (che potrebbero essere da 1 a n) il nominativo corrispondente, in questo modo:
ID; Campo1; Nominativo;
1; MARIO ROSSI; MARIO ROSSI;
2; DESCRIZIONE 1; MARIO ROSSI;
3; DESCRIZIONE 2; MARIO ROSSI;
4; DESCRIZIONE 3; MARIO ROSSI;
5; GIUSEPPE BIANCHI; GIUSEPPE BIANCHI;
6; DESCRIZIONE 1; GIUSEPPE BIANCHI;
7; DESCRIZIONE 2; GIUSEPPE BIANCHI;
8; LUIGI GIALLI; LUIGI GIALLI;
9; DESCRIZIONE 1; LUIGI GIALLI;
10; DESCRIZIONE 2; LUIGI GIALLI;
11; DESCRIZIONE 3; LUIGI GIALLI;
12; DESCRIZIONE 4; LUIGI GIALLI;
Sto provando ad usare una query che mette in relazione l'id con l'id+1
SELECT T1.id, T1.campo1, T2.campo1,
IIf([T1].[campo1] Not Like "Desc*",[T1].[campo1],[T2].[campo1]) AS Risultato
FROM txt AS T1
LEFT JOIN txt AS T2
ON T1.id+1=T2.id;
Questo mi associa solo la prima descrizione dopo il nome.
id T1.campo1 T2.campo1 Risultato
1; MARIO ROSSI; DESCRIZIONE 1; MARIO ROSSI;
2; DESCRIZIONE 1; DESCRIZIONE 2; DESCRIZIONE 2;
3; DESCRIZIONE 2; DESCRIZIONE 3; DESCRIZIONE 3;
4; DESCRIZIONE 3; GIUSEPPE BIANCHI; GIUSEPPE BIANCHI;
5; GIUSEPPE BIANCHI; DESCRIZIONE 1; GIUSEPPE BIANCHI;
6; DESCRIZIONE 1; DESCRIZIONE 2; DESCRIZIONE 2;
7; DESCRIZIONE 2; LUIGI GIALLI; LUIGI GIALLI;
8; LUIGI GIALLI; DESCRIZIONE 1; LUIGI GIALLI;
9; DESCRIZIONE 1; DESCRIZIONE 2; DESCRIZIONE 2;
10; DESCRIZIONE 2; DESCRIZIONE 3; DESCRIZIONE 3;
11; DESCRIZIONE 3; DESCRIZIONE 4; DESCRIZIONE 4;
12; DESCRIZIONE 4;
Domanda? E' giusto utilizzare una query o è meglio scrivere qualche riga di codice (un ciclo For...Loop magari) che confronti i record.
Qualcuno ha qualche suggerimento?
Grazie in anticipo