Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qua, 02 Mai 2007 2:49 pm
Boa tarde pessoal,
Seguinte, estou um select da seguinte maneira
Selecionar tudo
select tx_anexo
from table1 t1, table2 t2
where t1.a = t2.a
and t1.cod = 561
esse select me retorna duas linhas, no campo
TX_ANEXO
ele me retornou na primeira linha um valor X e na segunda linha um Y. Eu queria montar esse select na forma em que ele me retornasse o valor X e Y na mesma linha um do lado do outro. Pdem me ajudar???
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Qua, 02 Mai 2007 3:15 pm
Brother,
Acho que seria mais ou menos isso:
Selecionar tudo
SELECT t1.tx_anexo, (SELECT tx_anexo
FROM table2 t2
WHERE t2.a = t1.a) tx_anexo_2
FROM table1 t1
WHERE t1.a = 1
AND t1.cod = 1000
Quem tiver mais alguma idéia / solução, posta ai pra gente.
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qua, 02 Mai 2007 3:23 pm
hoje o meu select retorna assim:
Selecionar tudo
cd_anexo cd_pesquisa tx_anexo
-------------- ------------------- -----------------------
633 561 aaaaaaaaaaaaaa
634 561 bbbbbbbbbbbbbb
e eu quero que retorne assim:
Selecionar tudo
tx_anexo1 tx_anexo2
-------------------------------------- ------------------------------------
aaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbb
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Qua, 02 Mai 2007 3:27 pm
Posta algumas linhas da tua tabela pra gente dar uma olhada brother...
Pode ser este caso ai em especifico, porém, com as tabelas 1 e 2.
Vlw
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qua, 02 Mai 2007 3:33 pm
Meu select original é esse:
Selecionar tudo
select anex.tx_anexo as anexo1,anex.tx_anexo as anexo2
from db_pesquisa.tbl_anexo anex,
db_pesquisa.tbl_pesquisa pesq,
db_pesquisa.tbl_pessoa_empresa pessemp,
db_pesquisa.tbl_pessoa pes
where pesq.cd_pesquisa = 561
and anex.cd_pesquisa = pesq.cd_pesquisa
and pesq.cd_pesquisa = pessemp.cd_pesquisa
and pessemp.cd_pessoa = pes.cd_pessoa
Que me retorna assim:
Selecionar tudo
ANEXO1 ANEXO2
----------------------------------------------- -------------------------------
A01_0023_Cópia de anexo_B_teste.doc A01_0023_Cópia de anexo_B_teste.doc
anexo_D_A01_0023.doc anexo_D_A01_0023.doc
repare que tem o mesmo valor para as duas colunas, só que eles são diferente em linha e eu quero que me retorne somente uma linha sendo que cada valor fique em colunas diferentes.
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Qua, 02 Mai 2007 3:48 pm
Brother,
Você deseja que saia conforme exemplificado abaixo (no Proposto)?
Só pra que eu me situe melhor...
Hoje:
Selecionar tudo
ANEXO1 ANEXO2
----------------------------------------------- -------------------------------
A01_0023_Cópia de anexo_B_teste.doc A01_0023_Cópia de anexo_B_teste.doc
anexo_D_A01_0023.doc anexo_D_A01_0023.doc
Proposto:
Selecionar tudo
ANEXO1 ANEXO2
----------------------------------------------- -------------------------------
A01_0023_Cópia de anexo_B_teste.doc anexo_D_A01_0023.doc
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Qua, 02 Mai 2007 3:58 pm
beleza brother, vou fazer uns testes aqui e já te retorno.
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qua, 02 Mai 2007 4:02 pm
é isso mesmo, hoje é retornado duas linhas e uma coluna só e eu quero que me retorne uma linhas e duas colunas.
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qua, 02 Mai 2007 5:23 pm
Conseguiu alguma coisa Trevisolli?...eu não consegui não, está difícil esse.
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Qua, 02 Mai 2007 5:45 pm
Brother,
Com PL/SQL pode ser ou, somente SQL ?
dr_gori
Moderador
Mensagens: 5024 Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Qua, 02 Mai 2007 6:14 pm
Aqui no forum já foi falado algo sobre CROSSTAB.
Procure por isso que encontrará algo!
Trevisolli
Moderador
Mensagens: 2016 Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Qua, 02 Mai 2007 10:55 pm
Verdade Dr_Gori.
Valeu pela dica.
Cleber, tente adaptar como
neste exemplo
qualquer coisa, manda ai.
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qui, 03 Mai 2007 2:50 pm
meu campo é varchar2...não posso somar, não posso usar função de grupo...não tem outra saída?
cleberzumba
Rank: DBA Júnior
Mensagens: 223 Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza
Qui, 03 Mai 2007 4:02 pm
Funcionou!!!!
Consegui desta maneira:
Selecionar tudo
select pesq.cd_pesquisa,
max(anex.tx_anexo) Anexo_1,
min(anex.tx_anexo) Anexo_2
from db_pesquisa.tbl_anexo anex,
db_pesquisa.tbl_pesquisa pesq,
db_pesquisa.tbl_pessoa_empresa pessemp,
db_pesquisa.tbl_pessoa pes
where pesq.cd_pesquisa = 561
and anex.cd_pesquisa = pesq.cd_pesquisa
and pesq.cd_pesquisa = pessemp.cd_pesquisa
and pessemp.cd_pessoa = pes.cd_pessoa
group by pesq.cd_pesquisa
order by 1
Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes