Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 07-02-2014
socger socger is offline
Miembro
 
Registrado: jun 2004
Posts: 89
Poder: 20
socger Va por buen camino
mejor aclaracion de la SQL

Perdón esto es lo que le faltaba al post anterior para ver la aclaración de la SQL

Código SQL [-]
***************************************************************************
** El bloque siguiente crea la variable/tabla temporal
***************************************************************************
DECLARE @mi_tabla TABLE ( NumeroRegistro int, NumeroVehiculo nchar(5), NumeroMatricula varchar(15), RFID_Salida datetime, RFID_Entrada datetime, Serv_Ano_Creacion smallint, Serv_Codigo int, Serv_Linea int, Serv_Conductor char(5) )

***************************************************************************
** Todo el bloque siguiente inserta registros usando la estructura insert + select
***************************************************************************
INSERT INTO @mi_tabla

SELECT  a.NumeroRegistro, a.NumeroVehiculo, a.NumeroMatricula,
    (SELECT TOP 1 z.CUANDO
      FROM Murcia.dbo.tbl_RFID_Movimientos as z
      WHERE z.ANTENA LIKE '%Ant0%'
      AND z.id_Vehiculo = a.NumeroRegistro
      AND z.CUANDO >= '07/02/2014 0:00:00'
      AND z.CUANDO <= '07/02/2014 23:59:59'
      ORDER BY z.id_Vehiculo ASC, z.CUANDO DESC
    ) AS RFID_Salida, 

    (SELECT TOP 1 z.CUANDO
      FROM Murcia.dbo.tbl_RFID_Movimientos as z
      WHERE z.ANTENA LIKE '%Ant1%'
      AND z.id_Vehiculo = a.NumeroRegistro
      AND z.CUANDO >= '07/02/2014 0:00:00'
      AND z.CUANDO <= '07/02/2014 23:59:59'
      ORDER BY z.id_Vehiculo ASC, z.CUANDO DESC
    ) AS RFID_Entrada, 

    (SELECT TOP 1 Ano_Creacion 
      FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
      WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] =  a.NumeroVehiculo
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
      ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
    ) as Serv_Ano_Creacion, 

    (SELECT TOP 1 Codigo 
      FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
      WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] =  a.NumeroVehiculo
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
      ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
    ) as Serv_Codigo, 

    (SELECT TOP 1 Linea 
      FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
      WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] =  a.NumeroVehiculo
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
      ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
    ) as Serv_Linea, 

    (SELECT TOP 1 Conductor 
      FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
      WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] =  a.NumeroVehiculo
      AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
      ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio],  [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
    ) as Serv_Conductor 

 FROM [SocGer].[dbo].[tbl_Vehiculos] as a
 WHERE a.[Fecha_Baja] IS NULL
 AND a.[Empresa_Colaboradora] IS NULL
 ORDER BY a.NumeroVehiculo ASC

***************************************************************************
** El bloque ANTERIOR creaba los registros de la variable/tabla temporal
** Las líneas siguientes lo que hacen es traerme esos registros de esa 
** variable/tabla temporal pero trayendo también registros de otra tabla
** mediante el uso de LEFT JOIN
***************************************************************************
SELECT   s.Descripcion, 
    x.* 
  FROM @mi_tabla as x 
  LEFT JOIN [Murcia].[dbo].[tbl_Servicios] as s 
         ON x.Serv_Ano_Creacion = s.Ano_Creacion 
        AND x.Serv_Codigo = s.Codigo 
  WHERE x.RFID_Entrada > x.RFID_Salida 
     OR x.RFID_Entrada = x.RFID_Salida 
     OR ( x.RFID_Entrada IS NULL AND x.RFID_Salida IS NULL )
 ORDER BY x.NumeroVehiculo ASC
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Firebird, DBX, CommandText pablonill Conexión con bases de datos 2 17-12-2012 16:01:05
Remote Error CommandText changes are not allowed Jere_84 Providers 1 04-01-2012 20:44:21
CommandText: Duda Paulao Varios 4 12-08-2008 20:31:21
PROCEDURE xxx.yyy can't return a result set in the given context. erian96 MySQL 2 15-07-2006 21:13:49
'Return no-apply' Roy Varios 9 10-06-2003 22:37:38


La franja horaria es GMT +2. Ahora son las 14:13:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi