Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PauloTI

SQL/Oracle

Recommended Posts

Pessoal.. eu não sei mexer direito aqui.. por isso criei esse POST NOVO por favor.. se tem algum lugar para eu tirar essa minha Duvida.. postem o LINK obrigado!

 

vamos la..

 

Eu tenho as seguinte questão:

 

Exercicio 1

 

Alterar a tabela emp e incluir um campo chamado telefone do tipo caracter de 15 posicoes.

 

Exercicio 2

 

Incluir os telefones para os funcionarios abaixo:

7369 SMITH – 44 35678900      
7782 CLARK – 35678900
7788 SCOTT – 11 325688890
7876 ADAMS – 16-333398766
7654 MARTIN – 000123455668
7499 ALLEN – 76465800

 

Exercicio 3

 

Selecionar as 3 colunas e retornar conforme abaixo:

7369 SMITH – 35678900
7782 CLARK – 35678900
7788 SCOTT – 32568889
7876 ADAMS – 33339876
7654 MARTIN – 12345566
7499 ALLEN – 76465800

 

---------

 

 

A Pergunta 1 e 2 podem descartar não é nada de mais além de um Alter Table e.. um Update na TABELA

 

Mas a questão três tem o seguinte desafio... as linhas tem que ser Retornar Iguais como está abaixo.

-------

Selecionar as 3 colunas e retornar conforme abaixo:

EMPNO ENAME   TELEFONE
7369  SMITH – 35678900
7782  CLARK – 35678900
7788  SCOTT – 32568889
7876  ADAMS – 33339876
7654  MARTIN – 12345566
7499  ALLEN – 76465800

-------

 

Problema.. Eu consegui fazer Rodar.. o meu unico problema é que não consigo trazer " EXATAMENTE IGUAL COMO está pedindo acima!.. e tem que ser exatamente Igual!

 

O que eu consegui fazer foi isso!

 

SELECT EMPNO,
      ENAME,
      SUBSTR(TELEFONE,1,8) TEL
FROM EMP 
WHERE EMPNO IN(7782,7499) 
UNION
SELECT EMPNO  ,
      ENAME  ,
      SUBSTR(TELEFONE,4,8) TEL
FROM EMP
WHERE EMPNO IN(7788,7369,7876,7654)

 

Mas ainda sim, as linhas não ficam iguais.. nem usando order by ou seja o que for.. que eu tenha tentado..

 

PELO AMOR DE DEUS.. alguém me ajuda? PQ eu não sei.. mais o que eu faço! rs

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução :

 

SELECT EMPNO,
      ENAME,
      SUBSTR(TELEFONE,1,8) TEL
FROM EMP 
WHERE EMPNO IN(7782,7499) 
UNION
SELECT EMPNO  ,
      ENAME  ,
      SUBSTR(TELEFONE,4,8) TEL
FROM EMP
WHERE EMPNO IN(7788,7369,7876,7654)
order by decode(7369,1,778,2,7788,3,7876 ADAMS,4,7654,5,7499,6,7)

 

Forçando a ordem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução :

 

SELECT EMPNO,
      ENAME,
      SUBSTR(TELEFONE,1,8) TEL
FROM EMP 
WHERE EMPNO IN(7782,7499) 
UNION
SELECT EMPNO  ,
      ENAME  ,
      SUBSTR(TELEFONE,4,8) TEL
FROM EMP
WHERE EMPNO IN(7788,7369,7876,7654)
order by decode(7369,1,778,2,7788,3,7876 ADAMS,4,7654,5,7499,6,7)

 

Forçando a ordem.

 

 

order by decode < não ta sendo aceito! complicado viu rs

mas valeu a força awe \o

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT EMPNO,
      ENAME,
      SUBSTR(TELEFONE,1,8) TEL
FROM EMP 
WHERE EMPNO IN(7782,7499) 
UNION
SELECT EMPNO  ,
      ENAME  ,
      SUBSTR(TELEFONE,4,8) TEL
FROM EMP
WHERE EMPNO IN(7788,7369,7876,7654)
order by decode(7369,1,7782,2,7788,3,7876,4,7654,5,7499,6,7)

 

Decode

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT EMPNO,
      ENAME,
      SUBSTR(TELEFONE,1,8) TEL
FROM EMP 
WHERE EMPNO IN(7782,7499) 
UNION
SELECT EMPNO  ,
      ENAME  ,
      SUBSTR(TELEFONE,4,8) TEL
FROM EMP
WHERE EMPNO IN(7788,7369,7876,7654)
order by decode(7369,1,7782,2,7788,3,7876,4,7654,5,7499,6,7)


SQL.JPG

Decode

 

 

me explica melhor o que você ta tentando fazer MOTTA.. eu até to entendendo.. mas da sua forma.. não funciona ;s

ATT

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT EMPNO,
      ENAME,
      SUBSTR(TELEFONE,1,8) TEL
FROM EMP 
WHERE EMPNO IN(7782,7499) 
UNION
SELECT EMPNO  ,
      ENAME  ,
      SUBSTR(TELEFONE,4,8) TEL
FROM EMP
WHERE EMPNO IN(7788,7369,7876,7654)
order by decode(EMPNO ,7369,1,7782,2,7788,3,7876,4,7654,5,7499,6,7)

 

E que fazer sql em notepad dá nisso, a ideia é ordenar o resultado conforme o EMPNO.

Por isto o DECODE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.