Duda con consulta

11/01/2007 - 10:00 por Lope | Informe spam
No sé si esta duda va en este grupo, pero allá va:

Necesito sacar los pedidos en cuyo campo Referencia aparezcan los
números de Orden de trabajo de un cliente (en este caso el 3550).

La consulta me funciona si el campo referencia es igual a los numeros
de orden:

SELECT *
FROM Pedidos CROSS JOIN
OrdenesTrabajo
WHERE (OrdenesTrabajo.CodigoCliente = 3550) AND (Pedidos.Referencia
LIKE OrdenesTrabajo.Numero)



Pero no me funciona si lo que quiero es que el campo referencia
contenga a los números de orden:

SELECT *
FROM Pedidos CROSS JOIN
OrdenesTrabajo
WHERE (OrdenesTrabajo.CodigoCliente = 3550) AND (Pedidos.Referencia
LIKE '% & OrdenesTrabajo.Numero & %')

Como veis el problema está en el LIKE. ¿Alguna idea?

Preguntas similare

Leer las respuestas

#1 Roberto M. Oliva
11/01/2007 - 11:15 | Informe spam
Hola!

Contra que base de datos estas trabajando?? Si estas trabajando contra
Access, los comodines son astericos:
strSQL = "SELECT *
FROM Pedidos CROSS JOIN
OrdenesTrabajo
WHERE (OrdenesTrabajo.CodigoCliente = 3550) AND (Pedidos.Referencia
LIKE '*" & OrdenesTrabajo.Numero & "*')

Espero que te ayude
Saludos
Roberto M. Oliva


On 11 ene, 10:00, Lope wrote:
No sé si esta duda va en este grupo, pero allá va:

Necesito sacar los pedidos en cuyo campo Referencia aparezcan los
números de Orden de trabajo de un cliente (en este caso el 3550).

La consulta me funciona si el campo referencia es igual a los numeros
de orden:

SELECT *
FROM Pedidos CROSS JOIN
OrdenesTrabajo
WHERE (OrdenesTrabajo.CodigoCliente = 3550) AND (Pedidos.Referencia
LIKE OrdenesTrabajo.Numero)



Pero no me funciona si lo que quiero es que el campo referencia
contenga a los números de orden:

SELECT *
FROM Pedidos CROSS JOIN
OrdenesTrabajo
WHERE (OrdenesTrabajo.CodigoCliente = 3550) AND (Pedidos.Referencia
LIKE '% & OrdenesTrabajo.Numero & %')

Como veis el problema está en el LIKE. ¿Alguna idea?
Respuesta Responder a este mensaje
#2 Lope
11/01/2007 - 11:35 | Informe spam
Perdón, contra una SQL Server 2000.

En Access está solucionado, y sería:

WHERE (((Pedidos.Referencia) Like "*" & [Numero] & "*") AND
((OrdenesTrabajo.CodigoCliente)550))

El problema es que no encuentro un equivalente para que funcione sobre
SQL Server.
Respuesta Responder a este mensaje
#3 Alberto Poblacion
11/01/2007 - 18:28 | Informe spam
"Lope" wrote in message
news:
Perdón, contra una SQL Server 2000.

En Access está solucionado, y sería:

WHERE (((Pedidos.Referencia) Like "*" & [Numero] & "*") AND
((OrdenesTrabajo.CodigoCliente)550))

El problema es que no encuentro un equivalente para que funcione sobre SQL
Server.



Tienes que cambiar la sintaxis: En Sql Server no se usa el & para
concatenar, sino el +, y además te faltan comillas. Es decir, en lugar de
LIKE '% & OrdenesTrabajo.Numero & %'

tienes que poner:
LIKE '%' + OrdenesTrabajo.Numero + '%'
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida