SQL - Como verificar si hay un registro en la base de datos?

 
Vista:
sin imagen de perfil

Como verificar si hay un registro en la base de datos?

Publicado por Molitaa (3 intervenciones) el 01/12/2016 21:20:23
Hola, espero puedan apoyarme !!
Quiero hacer una consulta donde pueda ira a una tabla y preguntar si hay registros con el id seleccionado.

Si hay registros que me los muestre y si no que me mande un mensaje donde me indique que no hay registros por mostrar.

Me pueden apoyar por favor.

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Manuel
Val: 67
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como verificar si hay un registro en la base de datos?

Publicado por Manuel (29 intervenciones) el 01/12/2016 21:51:06
No das muchos datos que hubiesen sido interesantes, como en donde usarás las sentencia SQL, ya que no es lo mismo en Transact-SQL por ejemplo, que en VBA de Access... De ahí que lo del mensaje, pues dependería de donde lo usarás, etc.

En cuanto a lo que pides, pues si te entiendo bien, pues es una simple consulta con una condición (en donde pasas el ID que buscas y que lo usas de condición). Si no hay registros, pues no devuelve nada. Después, es posible que quieras hacerlo en una subconsulta (aunque no es tu caso), en ese caso sería con WHERE EXISTS (SELECT... EL RESTO DE CONSULTA).

Hasta luego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como verificar si hay un registro en la base de datos?

Publicado por Molitaa (3 intervenciones) el 01/12/2016 21:57:56
gracias por responder, quería una idea para poder yo usarla en lo que estoy realizando.

Te comento, estoy usando Jquery en donde estoy seleccionando una Terminal cuando selecciono la terminal México me aparecen todos los registros de México pero si yo selecciono la terminal Brasil y si no tiene registros quiero que me diga que no hay registros a mostrar.

Todo lo anterior lo he logrado con el Store Procedure.

Intentado con lo siguiente me puedes indicar si estoy mal o que puedo agregar.
1
2
3
4
IF  not exists (Select * from Termianales T where @CveTerminal=-1 OR T.CveTerminal=@CveTerminal)
BEGIN
 Select 'No hay Registros con esta Terminal'
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel
Val: 67
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como verificar si hay un registro en la base de datos?

Publicado por Manuel (29 intervenciones) el 02/12/2016 11:54:27
Esto para SQL Server en Transact-sql... Pues casi lo tienes, pero si quieres que devuelva el resultado cuando hay registros y el mensaje cuando no... pues yo haría algo más como:

1
2
3
4
5
6
7
8
9
10
11
DECLARE @CveTerminal tinyint
IF (@CveTerminal=-1)
BEGIN
IF EXISTS (SELECT * from Termianales T where  T.CveTerminal=@CveTerminal)
SELECT * from Termianales T where  T.CveTerminal=@CveTerminal
ELSE
PRINT "NO HAY REGISTROS"
END
ELSE
PRINT "no es -1"
GO

Aunque lo puedes hacer con un solo IF o dentro del SELECT lo de comprobar si es "-1"... Además lo puedes generalizar para preguntar sobre cualquier terminal.

Pero bueno, revisa mi código que lo hice de cabeza y no es que escriba muchas sentencias Transact últimamente y pude cometer un error.

Espero haberte sido útil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel
Val: 67
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como verificar si hay un registro en la base de datos?

Publicado por Manuel (29 intervenciones) el 02/12/2016 12:49:05
En el código hay un pequeño error, y es que uso el tipo tinyint con un posible valor negativo... Tiene que ser Smallint o directamente int. Tinyint solo admite de 0 a 255.
A mallores, tienes que pasarle el valor a buscar o declararlo, pero bueno eso no puse nada porque ahí depende de tus necesidades.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar