Mas sobre actualizar

02/05/2005 - 17:35 por AyA | Informe spam
Hola de nuevo, muchas gracias a todosa por la colaboracion, mi duda es la
siguiente:

Dejar la fecha de alta del empleado igual a la fecha del sistema para
aquellos empleados que trabajen en Dallas y cuyo salario sea inferior a la
media de los salarios de analistas de la empresa.

UPDATE
EMP
SET
HIREDATE = SELECT HIREDATE = SYSDATE // Se que esto no se puede poner asi
pero es que no se como, ni donde ponerlo!! :(((
FROM EMP A LEFT JOIN DEPT B ON A.DEPTNO = B.DEPTNO
WHERE B.LOC = 'DALLAS' AND A.SAL <
(
SELECT AVG(A.SAL)
FROM EMP
WHERE A.JOB = 'ANALYST'

Gracias, a todos.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
02/05/2005 - 17:43 | Informe spam
Usa la function GETDATE().

...
HIREDATE = getdate()
...


AMB

"AyA" wrote:

Hola de nuevo, muchas gracias a todosa por la colaboracion, mi duda es la
siguiente:

Dejar la fecha de alta del empleado igual a la fecha del sistema para
aquellos empleados que trabajen en Dallas y cuyo salario sea inferior a la
media de los salarios de analistas de la empresa.

UPDATE
EMP
SET
HIREDATE = SELECT HIREDATE = SYSDATE // Se que esto no se puede poner asi
pero es que no se como, ni donde ponerlo!! :(((
FROM EMP A LEFT JOIN DEPT B ON A.DEPTNO = B.DEPTNO
WHERE B.LOC = 'DALLAS' AND A.SAL <
(
SELECT AVG(A.SAL)
FROM EMP
WHERE A.JOB = 'ANALYST'

Gracias, a todos.



Respuesta Responder a este mensaje
#2 Maxi
02/05/2005 - 17:49 | Informe spam
Hola, pero ya casi lo tienes armado mi amigo :-)


UPDATE
EMP
SET
HIREDATE = GETDATE()
FROM EMP,

( SELECT *
FROM EMP A LEFT JOIN DEPT B ON A.DEPTNO = B.DEPTNO
WHERE B.LOC = 'DALLAS' AND A.SAL <
(
SELECT AVG(A.SAL)
FROM EMP
WHERE A.JOB = 'ANALYST') TX
WHERE EMP.ID = TX.ID

pd: no lo probe :(

Salu2
Maxi


"AyA" escribió en el mensaje
news:
Hola de nuevo, muchas gracias a todosa por la colaboracion, mi duda es la
siguiente:

Dejar la fecha de alta del empleado igual a la fecha del sistema para
aquellos empleados que trabajen en Dallas y cuyo salario sea inferior a la
media de los salarios de analistas de la empresa.

UPDATE
EMP
SET
HIREDATE = SELECT HIREDATE = SYSDATE // Se que esto no se puede poner
asi
pero es que no se como, ni donde ponerlo!! :(((
FROM EMP A LEFT JOIN DEPT B ON A.DEPTNO = B.DEPTNO
WHERE B.LOC = 'DALLAS' AND A.SAL <
(
SELECT AVG(A.SAL)
FROM EMP
WHERE A.JOB = 'ANALYST'

Gracias, a todos.


Respuesta Responder a este mensaje
#3 AyA
02/05/2005 - 17:58 | Informe spam
Umm, que es lo de TX un Alias y se puede poner asi...interesante ahora lo
pruebo, gracias!!!


"Maxi" escribió en el mensaje
news:
Hola, pero ya casi lo tienes armado mi amigo :-)


UPDATE
EMP
SET
HIREDATE = GETDATE()
FROM EMP,

( SELECT *
FROM EMP A LEFT JOIN DEPT B ON A.DEPTNO = B.DEPTNO
WHERE B.LOC = 'DALLAS' AND A.SAL <
(
SELECT AVG(A.SAL)
FROM EMP
WHERE A.JOB = 'ANALYST') TX
WHERE EMP.ID = TX.ID

pd: no lo probe :(

Salu2
Maxi


"AyA" escribió en el mensaje
news:
> Hola de nuevo, muchas gracias a todosa por la colaboracion, mi duda es


la
> siguiente:
>
> Dejar la fecha de alta del empleado igual a la fecha del sistema para
> aquellos empleados que trabajen en Dallas y cuyo salario sea inferior a


la
> media de los salarios de analistas de la empresa.
>
> UPDATE
> EMP
> SET
> HIREDATE = SELECT HIREDATE = SYSDATE // Se que esto no se puede poner
> asi
> pero es que no se como, ni donde ponerlo!! :(((
> FROM EMP A LEFT JOIN DEPT B ON A.DEPTNO = B.DEPTNO
> WHERE B.LOC = 'DALLAS' AND A.SAL <
> (
> SELECT AVG(A.SAL)
> FROM EMP
> WHERE A.JOB = 'ANALYST'
>
> Gracias, a todos.
>
>


Respuesta Responder a este mensaje
#4 AyA
02/05/2005 - 18:02 | Informe spam
TX
WHERE EMP.ID = TX.ID



No entiendo bien esta linea??

perdonar ser tan pesado y mi ignorancia :-(
salu2!!
Respuesta Responder a este mensaje
#5 Alejandro Mesa
02/05/2005 - 18:26 | Informe spam
Se conoce en sql server como una tabla derivada y se debe usar un alias para
referenciar las columnas de ella.

Ejemplo:

select colA
from (select 1 union all select 2) t(colA)
go

en cuanto a tu pregunta inicial, pense que el problema lo tenias con la
funcion para devolver la fecha y hora del sistema. Aca tienes una version
posible.

UPDATE
EMP
SET
HIREDATE = getdate()
where
exists(select * from dept as b where b.deptno = emp.deptno and b.loc =
'dallas')
and sal < (SELECT AVG(e.SAL) FROM EMP as e WHERE e.JOB = 'ANALYST')


AMB

"AyA" wrote:

>TX
>WHERE EMP.ID = TX.ID

No entiendo bien esta linea??

perdonar ser tan pesado y mi ignorancia :-(
salu2!!



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida