Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/02/2008, 14:50
PulseHour
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: No Salgo Del Atasco

Cita:
Iniciado por Beakdan Ver Mensaje
No sé que motor de BD estás usando, pero lo siguiente te puede ayudar:
Código:
DECLARE @IdPedido INT, @IdAlbaran INT, @IdTasa INT
SET @IdPedido = 200
SET @IdAlbaran = 1
SET @IdTasa = NULL
 
SELECT      *--Tu lista de campos
FROM        Factura AS f
INNER JOIN  Pedido AS p
          ON p.IdFactura = f.IdFactura
          AND p.IdPedido = COALESCE(@IdPedido, p.IdPedido)
INNER JOIN  Albaran AS a
          ON a.IdFactura = f.IdFactura
          AND a.IdAlbaran = COALESCE(@IdAlbaran, a.IdAlbaran)
INNER JOIN  Tasa AS t
          ON t.IdFactura = f.IdFactura
          AND t.IdTasa = COALESCE(@IdTasa, t.IdTasa) 
Lo que pases como NULL no será filtrado. Tu otra opción es SQL Dinámico.

Tengo que hacerlo en SQL puro y duro para hacer un "dataservices sql" ya que es un filter dinamico en un WebServices (cuya parte de dataservices y webservices estamos desarrollando con Bea Weblogic 8.1)...Mi duda era esa...que si yo no le meto alguno de los campos ya sea tasa,pedido o albaran me da un error.Imagino que debo controlar cuando sea nulo y meterle a fuego el NULL para que se lo trague.Con este dataservices sql debo obtener el resultado (dado por un esquema) y debo volver a filtrar por otros criterios.Probare esto que me has pasado a ver si me funciona mañana.Muchas gracias man ;).