Unione campi e altro

Discussioni sulle caratteristiche di database
Rispondi
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Unione campi e altro

Messaggio da paolokap »

Salve a tutti.
Alcune semplici domande:
1) se ho una data base con, diciamo N campi, esiste un modo per unire tutti questi campi in uno solo per ottenere una stringa formata, appunto, dall'unione di tutti gli N campi?
2) Inoltre se per esempio inserisco il dato "1" c'è un modo che nel campo venga visualizzato, per esempio, come 001?
3) è possibile impostare che un campo sia formato da M spazi?

Grazie
LibreOffice 7.4 Kubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Unione campi e altro

Messaggio da Gaetanopr »

Salve, andando in ordine
1) puoi farlo effettuando una query del genere

Codice: Seleziona tutto

SELECT CONCAT( CONCAT( "CognomeRagSociale", ' ' ), "Nome" ) AS "Intestazione" FROM "Clienti"
l'istruzione crea un nuovo campo "Intestazione" concatenando il campo "CognomeRagSociale" uno spazio e il campo "Nome"
2) utilizzando un campo formattato vai su proprietà del campo - Formattazione - formato numero - codice del formato e inserisci 3 zeri
3) Non ho capito

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Unione campi e altro

Messaggio da paolokap »

Gaetanopr ha scritto:Salve, andando in ordine

3) Non ho capito

Saluti
Grazie per la risposta.
Per la domanda 3) mi servirebbe che in alcuni campi ci siano un certo numero di spazi. Il motivo di queste domande è perché devo creare una stringa lunga 1800 caratteri compresi gli spazi. Esempio di stinga:

Codice: Seleziona tutto

1A0000      DFRGRT00000         ERTYU 00000000"
LibreOffice 7.4 Kubuntu 22.04 LTS
paolokap
Messaggi: 353
Iscritto il: giovedì 9 ottobre 2014, 13:09

Re: Unione campi e altro

Messaggio da paolokap »

Scusa ma ora sono io a non capire.
Supponiamo che abbia tre campi: nome1, nome2, nome3 della tabella1. L'istruzione per unire i campi sarebbe

Codice: Seleziona tutto

    SELECT CONCAT( CONCAT( "nome1nome2", ' ' ), "nome3" ) AS "Intestazione" FROM "tabella1"
Ma i campi possono essere di ogni tipo (esempio numeri, date testo)?
LibreOffice 7.4 Kubuntu 22.04 LTS
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Unione campi e altro

Messaggio da Gaetanopr »

Salve, l'istruzione corretta sarebbe questa

Codice: Seleziona tutto

SELECT CONCAT( CONCAT( "nome1, "nome2" ), "nome3" ) AS "Intestazione" FROM "tabella1"
Si è possibile unire diversi tipi di campo, ma è sempre meglio avere un file di esempio.
paolokap ha scritto:Per la domanda 3) mi servirebbe che in alcuni campi ci siano un certo numero di spazi. Il motivo di queste domande è perché devo creare una stringa lunga 1800 caratteri compresi gli spazi. Esempio di stinga:

Codice: Seleziona tutto

1A0000      DFRGRT00000         ERTYU 00000000"
Come detto prima sarebbe opportuno avere un file di esempio con il risultato finale per cercare la migliore soluzione, creare spazi nei campi non mi sembra una buona cosa, secondo me dovresti lavorare direttamente sulla stringa finale lasciando inalterati gli altri campi.

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Unione campi e altro

Messaggio da charlie »

Ciao, in Base si possono unire campi, spazi e zeri aggiuntivi anche con:

Codice: Seleziona tutto

SELECT "NomeCampo" || '  ' || "NomeCampo" || '00' || "NomeCampo" , .... FROM "NomeTabella"
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi