Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Tenho uma tabela contém os seguintes dados:
nome dos campos: chave, sequencia e texto.
dados:
Chave sequencia texto
123 1 casa
123 2 teto
123 3 mesa
Tenho que listar da seguinte forma:
Chave texto
123 casa teto mesa
Desde já agradeço ajuda.
>
Boa noite,
Tenho uma tabela contém os seguintes dados:
nome dos campos: chave, sequencia e texto.
dados:
Chave sequencia texto
123 1 casa
123 2 teto
123 3 mesa
Tenho que listar da seguinte forma:
Chave texto
123 casa teto mesa
Desde já agradeço ajuda.
Boa noite amigo!
Select chave, sequecia, texto(nome campos)
from tabela (nome da tabela)
order by chave; ( ordenar pela coluna)
Boa noite amigo!
Select chave, sequecia, texto(nome campos)
from tabela (nome da tabela)
order by chave; ( ordenar pela coluna)
O resultado foi este.
127211,001, CASA
127211,003, ESCOLA
127211,002, LIVRO
O que eu preciso é assim:
127211 CASA ESCOLA LIVRO
Tentou usar FUNCTION ?
Usa uma função.. segue um exemplo...
primeiro:
CREATE OR REPLACE TYPE LINHA_TYPE AS OBJECT
( F_EMPNO NUMBER,
F_ENAME VARCHAR2(10),
F_JOB VARCHAR2(9),
F_MGR NUMBER,
F_HIREDATE VARCHAR2(15),
F_SAL VARCHAR2(10),
F_COMM VARCHAR(10),
F_DEPTNO NUMBER)
segundo:
CREATE OR REPLACE TYPE LINHA_TABLE AS TABLE OF LINHA_TYPE
------------------------------------------------------------
ai vem a função:
CREATE OR REPLACE FUNCTION LINHA_INTEIRA
RETURN LINHA_TABLE PIPELINED AS
V_RETOR LINHA_TYPE := LINHA_TYPE(100,'ANDERSON','ANALISTA',85,'02/07/2012','3500,00',NULL,40);
V_RETOR1 LINHA_TYPE := LINHA_TYPE(101,'CASIO','DBA',45,'05/02/2004','5000,00',250,20);
V_RETOR2 LINHA_TYPE := LINHA_TYPE(102,'VANDER','DBM',23,'15/10/2007','2800,00',100,10);
V_RETOR3 LINHA_TYPE := LINHA_TYPE(103,'AUGUSTO','STAG',86,'30/11/2002','1500,00',150,50);
V_RETOR4 LINHA_TYPE := LINHA_TYPE(104,'PEDRO','GERENTE',32,'01/02/2000','7500,00',NULL,30); PIPE ROW(V_RETOR);
PIPE ROW(V_RETOR1);
PIPE ROW(V_RETOR2);
PIPE ROW(V_RETOR3);
PIPE ROW(V_RETOR4);
RETURN;
END;
------------------------------
NA HORA DE PUXAR FICARIA ASSIM :
SELECT LINHA_INTEIRA FROM DUAL;
VAI RETORNAR EXATAMENTE COMO ESTÁ NA " V_RETOR " E ASSIM POR DIANTE SE QUISER MAIS LINHAS...
att
ou ...
CREATE OR REPLACE FUNCTION texto( paramp IN number)
RETURN VARCHAR2 IS
--
-- Retorna uma string
Cursor c1 is Select texto
From tabela
where chave= paramp;
Saida VARCHAR2(200);Saida := saida || trim(r1.texto) || ' ';
END LOOP;
RETURN TRIM(Saida);
END;
select chave,texto(chave) texto
Veja se ajuda.
http://forum.imasters.com.br/topic/202262-concater-string-de-uma-coluna-de-todos-os-registros-retornados/page__hl__%3Cspan%20clas
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2196162600402