Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

relacion entre tablas insertando en campo nuevo

Estas en el tema de relacion entre tablas insertando en campo nuevo en el foro de SQL Server en Foros del Web. hola, e estado intentando pero no encuentro nada que se le parezca tengo una tabla con información similar a nombre / lugar / hora Canuto ...
  #1 (permalink)  
Antiguo 03/05/2011, 12:07
Avatar de vhan99  
Fecha de Ingreso: febrero-2010
Mensajes: 105
Antigüedad: 14 años, 2 meses
Puntos: 1
relacion entre tablas insertando en campo nuevo

hola, e estado intentando pero no encuentro nada que se le parezca


tengo una tabla con información similar a


nombre / lugar / hora
Canuto /porhay / 4:00
Eldelbar /acuya /3:00

mi intención es relacionar la hora de la primera fila, con la segunda, y que imprima en un campo nuevo que recién cree, la diferencia


nombre / lugar / hora /diferencia
Canuto /porhay / 4:00 /60 minutos
Eldelbar /acuya /3:00 / 0 minutos


apero no encuentro comando que haga algo similar estomáticamente para muchisimos datos


de antemano agradezco la ayuda ^^
  #2 (permalink)  
Antiguo 03/05/2011, 12:33
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: relacion entre tablas insertando en campo nuevo

¿Que RELACION hay entre el primero y siguiente renglon o fila?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 03/05/2011, 13:56
Avatar de vhan99  
Fecha de Ingreso: febrero-2010
Mensajes: 105
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: relacion entre tablas insertando en campo nuevo

solo el ID
  #4 (permalink)  
Antiguo 03/05/2011, 14:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: relacion entre tablas insertando en campo nuevo

Cita:
Iniciado por vhan99 Ver Mensaje
solo el ID
¿Cual?, en tu ejemplo no vemos ningun ID
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 04/05/2011, 09:27
Avatar de vhan99  
Fecha de Ingreso: febrero-2010
Mensajes: 105
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: relacion entre tablas insertando en campo nuevo

ops xD

ID/nombre / lugar / hora /diferencia
1/Canuto /porhay / 4:00 /60 minutos
2/Eldelbar /acuya /3:00 / 0 minutos


los datos son muchos y quise poner un ejemplo corto para no exederme con la informacion,

los campos comiensan con un ID un timestamp y pues campos con formato de texto
  #6 (permalink)  
Antiguo 04/05/2011, 10:10
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: relacion entre tablas insertando en campo nuevo

Entiendo que los datos sean, tal vez millones, pero podrias compartir 5 o 6 registros y mostrarnos la relacion entre ID's.

En estos ultimos datos que muestras, no veo ninguna relacion entre el 1 y el 2.
__________________
MCTS Isaias Islas
  #7 (permalink)  
Antiguo 04/05/2011, 10:35
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: relacion entre tablas insertando en campo nuevo

Hola vhan99:

Tal y como lo comenta Iislas, no queda claro cuál es la relación entre un registro y otro, aunque puedo supones que se trata simplemente de obtener la diferencia de un ID contra el siguiente ID. En tu post no mencionas de qué tipo es el campo hora, para el ejemplo que voy a poner voy a suponer que se trata de un tipo datetime (). Puedes hacer algo como esto:

Código SQL:
Ver original
  1. DECLARE @tabla TABLE (ID INT, nombre VARCHAR(15), lugar VARCHAR(15), hora datetime)
  2. INSERT INTO @tabla VALUES (1, 'Canuto', 'porhay', '2011-05-04 04:00:00')
  3. INSERT INTO @tabla VALUES (2, 'Eldelbar', 'acuya', '2011-05-04 03:00:00')
  4. INSERT INTO @tabla VALUES (3, 'otro', 'lo que sea', '2011-05-04 02:15:00')
  5. INSERT INTO @tabla VALUES (4, 'cuatro', 'cuatro', '2011-05-04 01:24:00')
  6.  
  7. SELECT id,
  8. nombre,
  9. lugar,
  10. CONVERT(VARCHAR, hora, 108) hora,
  11. CONVERT(VARCHAR, datediff(mi, (SELECT top 1 hora FROM @tabla T2 WHERE T2.id > T1.id ORDER BY T2.id), hora)) diferencia
  12. FROM @tabla T1

Esta consulta te regresará lo siguiente:

Código:
id|nombre|lugar|hora|diferencia
-----------------------------------------
1|Canuto|porhay|04:00:00|60
2|Eldelbar|acuya|03:00:00|45
3|otro|lo que sea|02:15:00|51
4|cuatro|cuatro|01:24:00|NULL
Saludos
Leo

Etiquetas: relacion, tablas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.