Ayuda con consulta en base de datos

ScaryShadow

Bovino Milenario
#1
Compañeros, lo que ocurre es que necesito hacer una comparacion de campos de una base de datos, lo que quiero es que inserte un expediente, y un id de la materia en una tabla, y lo que pasa es que si inserta, lo que ocupe es que me valide que ese expediente no este registrado en esa materia ya, osea que no me repita ese registro, en esa tabla puede repetirse el expediente, y el id de la materia, pero no al mismo tiempo, que no haya un expediente con el mismo id de materia 2 veces, nomas una, y eso es lo que quiero validar, que no se repita, por favor necesito ayuda :S
 

greyess74

Bovino maduro
#2
Falta información, tal vez hasta el código, pero quizas la cosa más fácil sería (para el caso de mysql) añador al campo de "expediente" en la tabla "materia" es que tenga el atributo "UNIQUE" que esto lo que hace es que nunca se repita el dato en la tabla, o bien al hacer la inserción validar la información mediante una consulta para verificar que no se repita el registro!!

Espero te sirva!
 

CompuDoc

Bovino adicto
#3
Código:
IF EXISTS (SELECT * FROM TablaX WHERE ID = @Id)
BEGIN
    --SENTENCIA UPDATE
    UPDATE TablaX SET Valor = ValorX WHERE ID = @id
END
ELSE
BEGIN
   -- SENTENCIA INSERT
   INSERT INTO TablaX (Valor) VALUES (ValorX)
END
 

dmntnes

Bovino maduro
#4
:punzadita:

Código:
IF EXISTS (SELECT * FROM TablaX WHERE ID = @Id)
BEGIN
    --SENTENCIA UPDATE
    UPDATE TablaX SET Valor = ValorX WHERE ID = @id
END
ELSE
BEGIN
   -- SENTENCIA INSERT
   INSERT INTO TablaX (Valor) VALUES (ValorX)
END
:punzadita:

entendi
:chin!:
se puede {id_materia:1, expediente:rev},{id_materia:1, expediente:exa},{id_materia:2,expediente:exa}
no se puede duplicar {id_materia:1,expediente:exa},{id_materia:1,expediente:rev}

1. manda tus datos de insersion

ejemplo id_materia =1000
expediente=x

2. comprueba que no exista id materia en tu tabla

comprobacion(id_materia,expediente) estarías buscando el id de tu materia y tu nombre de expediente o id si quieres,

si lo encuentra regresa true en caso contrario false

3. si existe (lo encuentra) no lo inserta. regresaria un mensaje ya existe bla bla
4 si no existe(no lo encuentra) dentro de comprobacion tendrias que hacer tu insert a la tabla.
 
Arriba