Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
>
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
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)
>
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)
/applications/core/interface/imageproxy/imageproxy.php?img=https://lh3.googleusercontent.com/-30Dcy5khGbs/T-u5vGN_0sI/AAAAAAAAAGs/JWkZVmhIe8I/s400/SQL.JPG&key=bd02810bb79f129f3ab030378aaa625564da73d8eb565933c65f655dba8d1890" alt="SQL.JPG" />
me explica melhor o que você ta tentando fazer MOTTA.. eu até to entendendo.. mas da sua forma.. não funciona ;s
ATT
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.
Uma solução :
FROM EMP WHERE EMPNO IN(7782,7499) UNION 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.