
[Consulta] Cambio sentencia *=
Publicado por Jimmy Alexander (2 intervenciones) el 16/01/2015 17:58:41
Buenos días,
Hola Programadores,
Tengo una consulta acerca de como reemplazar una consulta en un programa que se conecta a SQL Server 2012, la consulta es así:
Select tabla1.valor_mercado as vlr_mer_02,
tabla1.nro_titulo,
tabla2.valor_mercado,
tabla2.valor_dia as vlr_dia_sal,
tabla1.cod_emp,
tabla1.pago_interes,
tabla3.fecha,
tabla3.fecha_final,
tabla3.nro_papeleta,
from tabla1,
tabla3,
tabla2
where tabla1.cod_emp *= tabla2.cod_emp and
tabla1.nro_titulo *= tabla2.nro_titulo and
(((tabla3.cod_emp = tabla1.cod_emp ) and
(tabla3.nro_papeleta = tabla1.nro_papeleta)) and
(((tabla3.fecha <= '16-10-2014' ) and
(tabla3.fecha_final > '16-10-2014' ) and
(tabla3.negocio in(5,6) ) and
(tabla3.estado in('L','F')) ))) and
tabla2.fecha = '16-10-2014' and
( tabla1.cod_emp = 20 or tabla1.cod_emp <> 20 ) ;
El problema, es que en el where la sentencia que tiene ese asterisco igual ( *= ) ya no funciona en sql server 2012, y estoy buscando como reemplazarlo, creo que sería con un left join, pero hasta donde yo lo he usado, se debe nombrar nuevamente la tabla1. por ejemplo para hacer el left join y, me dice que esta duplicada por lo que se encuentra en el from, la quité y, me deja hacerlo pero la consulta se traba y llena la tabla TMP del motor, me podrían ayudar para saber como cambiar esa consulta, muchas gracias a todos.
saludos.
Hola Programadores,
Tengo una consulta acerca de como reemplazar una consulta en un programa que se conecta a SQL Server 2012, la consulta es así:
Select tabla1.valor_mercado as vlr_mer_02,
tabla1.nro_titulo,
tabla2.valor_mercado,
tabla2.valor_dia as vlr_dia_sal,
tabla1.cod_emp,
tabla1.pago_interes,
tabla3.fecha,
tabla3.fecha_final,
tabla3.nro_papeleta,
from tabla1,
tabla3,
tabla2
where tabla1.cod_emp *= tabla2.cod_emp and
tabla1.nro_titulo *= tabla2.nro_titulo and
(((tabla3.cod_emp = tabla1.cod_emp ) and
(tabla3.nro_papeleta = tabla1.nro_papeleta)) and
(((tabla3.fecha <= '16-10-2014' ) and
(tabla3.fecha_final > '16-10-2014' ) and
(tabla3.negocio in(5,6) ) and
(tabla3.estado in('L','F')) ))) and
tabla2.fecha = '16-10-2014' and
( tabla1.cod_emp = 20 or tabla1.cod_emp <> 20 ) ;
El problema, es que en el where la sentencia que tiene ese asterisco igual ( *= ) ya no funciona en sql server 2012, y estoy buscando como reemplazarlo, creo que sería con un left join, pero hasta donde yo lo he usado, se debe nombrar nuevamente la tabla1. por ejemplo para hacer el left join y, me dice que esta duplicada por lo que se encuentra en el from, la quité y, me deja hacerlo pero la consulta se traba y llena la tabla TMP del motor, me podrían ayudar para saber como cambiar esa consulta, muchas gracias a todos.
saludos.
Valora esta pregunta


0