Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Podrían Ayudarme con el WHERE en este SELECT SQL

Estas en el tema de Podrían Ayudarme con el WHERE en este SELECT SQL en el foro de SQL Server en Foros del Web. Disculpen es la primera vez que posteo en este foro, pero me ah ayudado en multiples ocaciones :). Bueno este es mi problema tengo una ...
  #1 (permalink)  
Antiguo 14/12/2011, 13:06
 
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Pregunta Podrían Ayudarme con el WHERE en este SELECT SQL

Disculpen es la primera vez que posteo en este foro, pero me ah ayudado en multiples ocaciones :).

Bueno este es mi problema tengo una Query de esta manera:

SELECT FI.idFicha,CLI.idCliente,
(SELECT TOP 1 Observaciones.idObservacion FROM Observaciones WHERE FI.idFicha=Observaciones.idFicha ORDER BY Observaciones.idObservacion DESC) AS idObservacion,
(SELECT TOP 1 NotasTecnicas.idNotaTecnica FROM NotasTecnicas WHERE FI.idFicha=NotasTecnicas.idFicha ORDER BY NotasTecnicas.idNotaTecnica DESC) as idNotaTecnica
FROM Fichas FI

Cuando utilizo el where para buscar por uno de los campos como idFicha o idCliente por ejemplo me funciona bien pero cuando intento buscar por ejemplo por idObservacion o idNotaTecnica, por ejemplo:

WHERE idNotaTecnica LIKE 'cosa'


me marca este error:

El nombre de columna 'idNotaTecnica' no es válido.


Alguien que me ayude a resolver este problema.

Muchas Gracias.
  #2 (permalink)  
Antiguo 14/12/2011, 13:19
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Podrían Ayudarme con el WHERE en este SELECT SQL

Hola GOKUF4:

En SQL Server no puedes utilizar ALIAS o campos calculados en la sección WHERE, ya que estos existen sólo después de la ejecución.

Tendrías que hacer algo como esto:

Código:
select * from 
(
SELECT FI.idFicha,CLI.idCliente, 
(SELECT TOP 1 Observaciones.idObservacion FROM Observaciones WHERE FI.idFicha=Observaciones.idFicha ORDER BY Observaciones.idObservacion DESC) AS idObservacion, 
(SELECT TOP 1 NotasTecnicas.idNotaTecnica FROM NotasTecnicas WHERE FI.idFicha=NotasTecnicas.idFicha ORDER BY NotasTecnicas.idNotaTecnica DESC) as idNotaTecnica
FROM Fichas FI 
) T1
WHERE idNotaTecnica like 'cosa';
La parte en azul es tu consulta que dices que funciona... observa que se utiliza como una subconsulta, y la condición WHERE evalua después de ejecutar dicha subconsulta.

Saludos
Leo
  #3 (permalink)  
Antiguo 14/12/2011, 16:02
 
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Respuesta: Podrían Ayudarme con el WHERE en este SELECT SQL

Muchas Gracias amigo :)

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.