Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2004
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
Question Ayuda con consulta SQL

Saludos a tod@s :

Solicito ayuda con una consulta de SQL ya que soy novato con SQL Server.
Partiendo de dos tablas (Trabajadores y Servicios) quiero hacer una consulta que muestre los trabajadores activos que no están incluidos en ningún servicio.
El query que he probado es este :
Cita:
SELECT DISTINCT T.CDGO, T.NMBRECMPLTO
FROM TRBJDRES T, SERVICIOS S
WHERE (T.CDGO <> S.CDGOTOP AND T.ACTIVO = -1)
ORDER BY T.CDGO
Pero no funciona correctamente ya que me muestra todos los trabajadores (incluso los que ya estan en algún servicio).

Espero que alguien pueda ayudarme.

Saludos a tod@s.
__________________
Toni | blog
Responder Con Cita
  #2  
Antiguo 17-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
No funciona porque estas relacionando las tablas...
Código:
SELECT DISTINCT T.CDGO, T.NMBRECMPLTO
FROM TRBJDRES T 
WHERE T.ACTIVO = -1
AND NOT EXISTS (SELECT 1 FROM SERVICIOS S WHERE T.CDGO = S.CDGOTOP)
ORDER BY T.CDGO
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 17-02-2004
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
Thumbs up Gracias !!

Gracias delphi.com.ar !!!!

Es exactamente lo que necesitaba...
lo he probado y funciona perfectamente.

Gracias y saludos.

P.D.: Por mi parte ya se puede cerrar este hilo, es necesario hacer algo para cerrarlo o se deja tal cual?
__________________
Toni | blog
Responder Con Cita
  #4  
Antiguo 18-02-2004
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
Question Hilo no cerrado

Hola delphi.com.ar :

El script que me facilitastes funciona perfectamente :

Cita:
Empezado por delphi.com.ar
No funciona porque estas relacionando las tablas...
Código:
SELECT DISTINCT T.CDGO, T.NMBRECMPLTO
FROM TRBJDRES T 
WHERE T.ACTIVO = -1
AND NOT EXISTS (SELECT 1 FROM SERVICIOS S WHERE T.CDGO = S.CDGOTOP)
ORDER BY T.CDGO
Saludos!
pero ahora me piden exactamente la misma consulta pero agrupada por otro campo (S.NMROORDEN), he intentado añadirlo a la consulta que me facilitastes, pero no funciona.

Agradeceria me indicaras alguna pista de como hacerlo.

Saludos.
__________________
Toni | blog
Responder Con Cita
  #5  
Antiguo 18-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
No entiendo que quieres decir con "agrupada por otro campo (S.NMROORDEN)"
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 18-02-2004
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
Me explico mejor...

A la consulta original :

SELECT DISTINCT T.CDGO, T.NMBRECMPLTO
FROM TRBJDRES T
WHERE T.ACTIVO = -1
AND NOT EXISTS (SELECT 1 FROM SERVICIOS S WHERE T.CDGO = S.CDGOTOP)
ORDER BY T.CDGO

tengo que añadir un campo (NMROORDEN) que pertenece a la tabla Servicios (S) y mostrar los resultados de la consulta agrupados por ese campo "Group by S.NMROORDEN".

Gracias por tu ayuda...
__________________
Toni | blog
Responder Con Cita
  #7  
Antiguo 18-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
tgsistemas
Mencionas que eres novato en sql. Quizá te interese leerte algún tutorial básico como por ejemplo este. No hay nada como tener una idea general para no atorarnos tanto.

// Saludos

Última edición por roman fecha: 18-02-2004 a las 16:00:02. Razón: Error disléxico
Responder Con Cita
  #8  
Antiguo 18-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Incisto con lo que te ha dicho Román, te recomiendo aprender SQL, al menos las nociones bácicas. Es muy fácil.
Por otro lado, quieres mostrar un campo de la tabla SERVICIOS cuando la consulta son todos aquellos trabajadores que no esten en esta tabla... ¡No es lógico!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 18-02-2004
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
Unhappy

perdón !!!!!

me he equivocado de query

La consulta que me facilitastes la utilizo en otro query para mostrar todos los servicios que tiene asignado el usuario conectado al programa y es en esta consulta donde debo agrupar los datos por el NMROORDEN, diferentes servicios pueden tener el mismo NMROORDEN y se trata de que el usuario los vea agrupados.

Independientemente de eso voy a seguir el consejo de roman y buscar algún manual de SQL, que libro me aconsejais al respecto?.

Pido disculpas por el error !!!

Saludos y gracias a roman y delphi.com.ar !!
__________________
Toni | blog
Responder Con Cita
  #10  
Antiguo 18-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por tgsistemas
Independientemente de eso voy a seguir el consejo de roman y buscar algún manual de SQL, que libro me aconsejais al respecto?.
Insisto en el enlace que te puse o algún otro que encuentres con Google. No busques un libro, no ahora. En mi opinión lo mejor es algo sencillo que en una tarde nos de un panorama general de cómo funciona.

// Saludos
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 05:43:07.


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