Passa al contenuto principale

DEFQUERYCOLUMN

AliasCOLUMN31.1DesktopWeb

Permette di definire le colonne che devono essere restituite dall'esecuzione della query.
Consente di definire uno o più colonne sulla stessa specifica.

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
IDQUERYLongINDesktopWeb
ESPRINObbligatorioRipetibileDesktopWeb
VARVariabileINRipetibileDesktopWeb
ERROREInteroINDesktop
NOOUTPUTInteroINRipetibileDesktopWeb
ETICHETTAStringaINRipetibileDesktopWeb

IDQUERY

LongINInputValore non necessarioValore non necessarioDesktopWeb

Identificatore della query ottenuto tramite @DEFQUERY.

L'utilizzo del parametro esclude l'utilizzo del parametro QUERY

ESPR

INInputObbligatorioObbligatorioRipetibileRipetibileValore non necessarioValore non necessarioDesktopWeb
SottoParametri

Indicazione del campo di una tabella della query.

Dalla versione 22.0 del traduttore è possibile fare in modo che siano scaricati tutti i campi della tabella indicando il carattere '' (asterisco) per il nome del campo. (es: ESPR[<nome tabella>.])

Dalla versione 23.2 del traduttore è possibile fare in modo che siano scaricati tutti gli alias dei campi della tabella, per la lettura tramite variabili di tipo oggetto e di tipo collezione, utilizzando la sintassi ESPR[<nome tabella>.* AS [*]]. In questo caso l'alias attribuito al campo è il nome breve.

VAR

VariabileINInputRipetibileRipetibileValore non necessarioValore non necessarioDesktopWeb

Indica la variabile di programma che è associata al campo eventualmente dimensionata

ERRORE

InteroINInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente al programma di intercettare e gestire l'errore restituito dalla funzione.

suggerimento

Utilizzare uno dei metodi GetLastError*() della classe BCContextInfo per ottenere le informazioni dell'errore.

NOOUTPUT

InteroINInputRipetibileRipetibileValore non necessarioValore non necessarioDesktopWeb

Indica se la colonna NON deve apparire nel resultset

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0la colonna appare nel resultset
1la colonna non appare nel resultset

ETICHETTA

StringaINInputRipetibileRipetibileValore non necessarioValore non necessarioDesktopWeb

Individua l'eventuale etichetta da usare per la specifica @RUNQUERY per etichettare il campo.

Esempi

Definizione

 DIM IdQuery[INT]

'@DEFQUERY IDQUERY[IdQuery] NOME["BCRIF_DEFQUERYCOLUMN_2"]

'@DEFQUERYFROM IDQUERY[IdQuery] TABELLA[BLDART]

'@DEFQUERYJOIN IDQUERY[IdQuery] TABELLA[BLDFAMIGLIA] TABELLAPADRE[BLDART] _
REL[BLDFAMIGLIA.COD = BLDART.CODFAM] _
OPERATOREJOIN["INNER"]

'@DEFQUERYCOLUMN IDQUERY[IdQuery] ESPR[BLDART.PREZZO AS [PrezzoMedio]] _
ESPR[BLDART.COD AS [NumeroArticoli]] _
ESPR[BLDFAMIGLIA.COD AS [CodFamiglia]] _
ESPR[BLDFAMIGLIA.DES AS [DesFamiglia]]

' Statement SQL generato
'
' SELECT BLDArticoli.CodArt AS [CodArt]
' ,BLDArticoli.DesArt AS [DesArt]
' ,BLDFamiglie.CodFamiglia AS [CodFamiglia]
' ,BLDFamiglie.DesFamiglia AS [DesFamiglia]
' FROM BLDArticoli AS [BLDArticoli]
' INNER JOIN BLDFamiglie AS [BLDFamiglie] ON (
' BLDFamiglie.CodFamiglia = BLDArticoli.CodFamiglia
' AND (BLDFamiglie.DBGruppo = BLDArticoli.DBGruppo)
' )
' WHERE (BLDArticoli.DBGruppo = 'GG')
'
' Risultato della query
'
' CodArt DesArt CodFamiglia DesFamiglia
' --------- --------------- -------------- --------------
' 001 Articolo 001 01 Famiglia 01
' 007 Articolo 007 01 Famiglia 01
' 013 Articolo 013 01 Famiglia 01
' 019 Articolo 019 01 Famiglia 01
' 025 Articolo 025 01 Famiglia 01
' 026 Articolo 026 01 Famiglia 01
' 027 Articolo 027 01 Famiglia 01
' 002 Articolo 002 02 Famiglia 02
' 008 Articolo 008 02 Famiglia 02
' 014 Articolo 014 02 Famiglia 02
' ...

Definizione con raggruppamenti

 
DIM IdQuery[INT]

'@DEFQUERY IDQUERY[IdQuery] NOME["BCRIF_DEFQUERYCOLUMN_2"]

'@DEFQUERYFROM IDQUERY[IdQuery] TABELLA[BLDART]

'@DEFQUERYJOIN IDQUERY[IdQuery] TABELLA[BLDFAMIGLIA] TABELLAPADRE[BLDART] _
REL[BLDFAMIGLIA.COD = BLDART.CODFAM] _
OPERATOREJOIN["INNER"]

'@DEFQUERYCOLUMN IDQUERY[IdQuery] ESPR[AVG(BLDART.PREZZO) AS [PrezzoMedio]] _
ESPR[COUNT(BLDART.COD) AS [NumeroArticoli]] _
ESPR[GROUPBY(BLDFAMIGLIA.COD) AS [CodFamiglia]] _
ESPR[GROUPBY(BLDFAMIGLIA.DES) AS [DesFamiglia]]


' Statement SQL generato
'
' SELECT AVG(BLDArticoli.Prezzo) AS [PrezzoMedio]
' ,COUNT(BLDArticoli.CodArt) AS [NumeroArticoli]
' ,BLDFamiglie.CodFamiglia AS [CodFamiglia]
' ,BLDFamiglie.DesFamiglia AS [DesFamiglia]
' FROM BLDArticoli AS [BLDArticoli]
' INNER JOIN BLDFamiglie AS [BLDFamiglie] ON (
' BLDFamiglie.CodFamiglia = BLDArticoli.CodFamiglia
' AND (BLDFamiglie.DBGruppo = BLDArticoli.DBGruppo)
' )
' WHERE (BLDArticoli.DBGruppo = 'GG')
' GROUP BY BLDFamiglie.CodFamiglia
' ,BLDFamiglie.DesFamiglia
'
' Risultato della query
'
' PrezzoMedio NumeroArticoli CodFamiglia DesFamiglia
' -------------- ----------------- -------------- --------------
' 54.890000 7 01 Famiglia 01
' 47.470000 5 02 Famiglia 02
' 36.756000 5 03 Famiglia 03
' 45.466666 3 04 Famiglia 04
' 38.561250 8 05 Famiglia 05
' 129.000000 1 06 Famiglia 06