2012-02-07 24 views
5

In PostgreSQL, come posso selezionare alcuni valori in un array 2D?Seleziona in un array 2D

Ad esempio, se desidero aggregare un campo di dati in un array, utilizzerò la funzione di costruzione ARRAY() o array_agg, ad es.

ARRAY(SELECT s.name FROM myschema.mytable s) 

Come potrei fare per la selezione diciamo, due valori, in una matrice 2D cioè

2DARRAYFUNCTION(SELECT s.name, s.id FROM ...) 
+0

Sì :) Il problema deriva in realtà dal fatto che la mia libreria di lettura dei dati da PostgreSQL a C# (NPGSQL) non ha davvero modo di accedere facilmente ai dati che sto cercando di recuperare (tipi o righe annidati del record 'pseudotipo). Quindi provare coppie chiave-valore, array di matrici, array 2D, ecc. –

+0

Ovviamente un seguito a questo: stackoverflow.com/q/9129855/939860 –

risposta

3

Se si tenta di aggregare un ARRAY (build da chiave e il valore, come nel tuo esempio) in un array bidimensionale, la funzione di aggregazione array_agg() o l'errore ARRAY costruttore out:

mi capita di avere scritto un answer for this case exactly recentemente. Risulta, è la tua domanda prequel.

0

Controllare la documentazione HERE.