• Domingo 28 de Abril de 2024, 22:53

Autor Tema:  Sentencia Al Sql  (Leído 1894 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Sentencia Al Sql
« en: Miércoles 10 de Noviembre de 2004, 18:07 »
0
Hola a todos: :smartass:

Por favor quisira saber como puedo hacer esta consulta en Sql Server, esto funciona con el Sql que tiene Informix

Código: Text
  1.  
  2.  
  3. select acofesigl,nombre_materia,acofegrup,acdocnomb
  4.   from acofe,materia,acdoc
  5.  where acofesigl = materia.sigla
  6.    and acofecarr = materia.carr
  7.    and acofeplan = materia.plan
  8.    and acofecdoc = acdoccdoc
  9.    and acofensem = "2"
  10.    and acofenano = 2004
  11.    and not exists (select cod_mat from faltas
  12.                     where cod_mat = materia.cod_mat
  13.                       and sem = acofensem
  14.                       and ano = acofenano
  15.                       and fechai >= "01/09/2004"
  16.                       and fechaf <= "30/09/2004")
  17.  
  18.  
  19.  

Lo que se hace en esta consulta es, buscar datos de una tabla y que no existan en otra tabla, y yo uso el NOT EXISTS

Gracias por la ayuda  :comp:
Sagma

mateamargo

  • Miembro activo
  • **
  • Mensajes: 67
    • Ver Perfil
Re: Sentencia Al Sql
« Respuesta #1 en: Viernes 21 de Enero de 2005, 16:57 »
0
¿Lo probaste y no funciona?
Porque me parece que podría andar bien. Lo único que en vez de usar EXISTS yo hubiese usado NOT IN, pero debería funcionar igual.
Saludos.

lucaseto

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Sentencia Al Sql
« Respuesta #2 en: Lunes 14 de Marzo de 2005, 18:32 »
0
tal vez no funciona por el formato de las fechas si es SQL es mejor usar 'yyyy-mm-dd' por que si se usa como lo tienes termina siendo dependiente del idioma en el que esta configurado el SQL, en el caso de SQL server seria

select acofesigl,nombre_materia,acofegrup,acdocnomb
 from acofe,materia,acdoc
where acofesigl = materia.sigla
  and acofecarr = materia.carr
  and acofeplan = materia.plan
  and acofecdoc = acdoccdoc
  and acofensem = "2"
  and acofenano = 2004
  and not exists (select cod_mat from faltas
                   where cod_mat = materia.cod_mat
                     and sem = acofensem
                     and ano = acofenano
                     and fechai >= '20040109'
                     and fechaf <= '20043009')

Acuerdate de las comillas simples y de que fechai sea datetime :kicking: