Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Pregunta Query para SQL Server

Estas en el tema de Pregunta Query para SQL Server en el foro de Visual Basic clásico en Foros del Web. Hola a todos, tengo una duda, necesito hacer un query donde debo de sacar ciertos registros, tengo una condicion de que obtenga todos los registros ...
  #1 (permalink)  
Antiguo 23/02/2007, 16:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta Query para SQL Server

Hola a todos, tengo una duda, necesito hacer un query donde debo de sacar ciertos registros, tengo una condicion de que obtenga todos los registros de la tabla_1 que tengan unos registros asignados en la tabla_2. Esto no es problema, estan en la misma base de datos.

Como le hago para poder agregarle otra condicion donde diga que aparte de la anterior, verifique si ese registro no se encuentra en la tabla_3 la cual esta en otra Base de datos dentro del mismo servidor.

Alguien sabe como hacerle??

Saludos
  #2 (permalink)  
Antiguo 24/02/2007, 09:10
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Pregunta Query para SQL Server

Si estas usando el SQL Server 2000 puedes acceder cualquier objeto asi:

[BASE1].[dbo].[Table1]
[BASE2].[dbo].[Table2]
[BASE3].[dbo].[Table3]
-- Donde BASE1 es el nombre de cualquier base de datos, con la condicion que las tres se encuentren en un mismo servidor

Ahora con lo que respecta a la condición para seleccionarlo no entendi muy bien que es lo que quieres hacer pero asi es como puedes acceder a ellos
Por ejemplp: Select * From [BASE1].[dbo].[Table1]

Ahora bien si usas otra version de SQL tendrías que probar
  #3 (permalink)  
Antiguo 26/02/2007, 12:35
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Pregunta Query para SQL Server

Hola, si uso la version de SQL Server 2000, deja veo si puedo hacer la condicion con lo que me comentas....Gracias por contestar!
  #4 (permalink)  
Antiguo 26/02/2007, 12:41
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Pregunta Query para SQL Server

Mira, este es mi Query

"INSERT INTO OPORD SELECT * FROM OP WHERE CveOP IN (SELECT DISTINCT CveOP FROM OPFormIng) AND Enviar=1 AND CveUsr<>0 ORDER BY CveUsr DESC,Orden ASC"

Saco de OP para guardar en OPORD todos las ordenes que tienen ingredientes en OPFormIng y que esten activadas para enviar y que tengan un operador asignado. Ahora lo que necesito meterle es que aparte de todo eso, verifique que esa orden que se esta mandando, no este en otra tabla que esta en otra base de datos, en el mismo servidor.

Eso es lo que tengo que hacer, si tienes alguna idea te lo agradeceria

Saludos
  #5 (permalink)  
Antiguo 26/02/2007, 13:16
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Pregunta Query para SQL Server

es medio complicado hacerlo asi pero creo que es mas menos algo asi
INSERT INTO OPORD SELECT * FROM OP WHERE CveOP IN( select Distinct B1.CveOP from OPFormIng as B1 (NoLock) Left Join BaseDato.DBO.Tabla as B2 (NoLock) ON B1.CveOP = B2.CveOP where B1.CveOP is null ) AND Enviar=1 AND CveUsr<>0 ORDER BY CveUsr DESC,Orden ASC

yap vamos por partes :D

select Distinct B1.CveOP from OPFormIng as B1 (NoLock) Left Join BaseDato.DBO.Tabla as B2 (NoLock) ON B1.CveOP = B2.CveOP where B2.CveOP is null

esta sentencia trae los diferente scvePO de la tabla OPFOrmIng en Join con
la tabla de la Base de DAto que estan activas, y me traigo solo las que tengan el cveOP de la tabla 2 nulas osea que no encuentre su correspondiente codigo en la tabla OPFOrmIng, espero se entienda y te sirva, la verdad mas claro no puedo explicarte por que si no me enredo yo mismo xD
  #6 (permalink)  
Antiguo 27/02/2007, 08:59
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Pregunta Query para SQL Server

Oka, gracias, lo estoy tratando de implementar haber si me funciona....
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:58.