SoloCodigo

Bases de Datos => SQL Server => Mensaje iniciado por: necros10 en Lunes 26 de Noviembre de 2007, 02:47

Título: Duda Con Distinct Sql 7.0
Publicado por: necros10 en Lunes 26 de Noviembre de 2007, 02:47
hola amigos que tal.....vamos al grano tengo el sgte problema necesito hacer un select pero sin q se me repita la pk......bueno eso pense q se hacia con el DISTINC pero me resulta solo si pongo los campos de una una tabla pero al poner campos de distintas tablas unidos con sus respectiva pk-fk no me resulta  :P

aqui les dejo como tengo la sentencia ojala me puedar ayudar ya que es para un pituto importante que salio  :D

SI RESULTA

select DISTINCT Matricula.N_Boleta,Matricula.Rut,Matricula.Nombre  from Matricula where N_Boleta = 1

NO ME RESULTA

select DISTINCT Matricula.N_Boleta,Matricula.Rut,Matricula.Nombre,Notas.Prevencion,Notas.legislacion  from Matricula,Notas where N_Boleta = 1

PD: Tambien utilize el EXISTS y nada  :(



 :D :D:D:D:D  :kicking:  :kicking:

ya lo solucione

select distinct Matricula.N_Boleta,Matricula.Num_Curso,Matricula.Rut,Matricula.Nombre,Notas.Prevencion,Notas.legislacion from Matricula,Notas where N_Boleta = 1 and cod_bol = 1


Asi era jejejeej    :whistling:  :whistling:  :whistling

Bueno Ojala le Sirva ah Alguien mas Cierren el tema nomas...jejejej  :whistling:  :whistling:
Título: Re: Duda Con Distinct Sql 7.0
Publicado por: Mollense en Lunes 26 de Noviembre de 2007, 12:07
necros10

DISTINCT se utiliza para que una consulta no devuelva ningún registro repetido, ej:

Tabla Persona
Código: Text
  1. codPersona    nombre    apellido
  2. 1            Pablo      Pérez
  3. 2            Esteban    Gómez
  4. 3            María      López
  5. 4            Esteban    Gómez
  6.  

Código: Text
  1. SELECT nombre, apellido FROM Persona
  2.  
Te va a devolver 4 registros (todos)
Código: Text
  1. SELECT DISTINCT nombre, apellido FROM Persona
  2.  
Te va a devolver 3 registros, ya que los registros 2 y 4 serían iguales (Porque no se está seleccionando el código de persona)

Para solucionar tu problema de manera correcta deberías utilizar la cláusula JOIN o agregar a la condición del WHERE N_Boleta = 1, la condición de PK=FK
Código: Text
  1. WHERE N_Boleta = 1 AND PK=FK
  2.  

Un saludo
Título: Re: Duda Con Distinct Sql 7.0
Publicado por: necros10 en Miércoles 28 de Noviembre de 2007, 04:55
GRACIAS Mollense pero lo solucione de esta manera

select distinct Matricula.N_Boleta,Matricula.Num_Curso,Matricula.Rut,Matricula.Nombre,Notas.Prevencion,Notas.legislacion from Matricula,Notas where N_Boleta = 1 and cod_bol = 1


gracias por darte el tiempo de responder