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

Algo complicado a ver si a alguien se le ocurre.

Estas en el tema de Algo complicado a ver si a alguien se le ocurre. en el foro de Mysql en Foros del Web. Buenas Soy Nuevo y he recurrido aquí ya que parece que acá realmente saben. El problema es el siguiente. Necesito hacer un SET de unos ...
  #1 (permalink)  
Antiguo 21/10/2010, 10:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Algo complicado a ver si a alguien se le ocurre.

Buenas Soy Nuevo y he recurrido aquí ya que parece que acá realmente saben.


El problema es el siguiente.

Necesito hacer un SET de unos ID que seria:

Ejemplo:

update inventory Set itemcount = 10000000 where itemid = 182400001

Ahora lo que necesitaria es que con un ID de otra table cambie los valores de la cantidad que aumenta en ITENCOUNT.

Lo que necesitaria seria lo siguiente.

Ejemplo:

Si en tabla "JUGADORES" el Campo "EXPERIENCIA" es = 60000

que "itemcount" de la tabla "INVENTARIO" sea = 50000000 where itemid = 182400001

Si en tabla "JUGADORES" el Campo "EXPERIENCIA" es = 100000

que "itemcount" de la tabla "INVENTARIO" = 100000000 where itemid = 182400001



No se si me hice entender maso menos =/



Saludos.-
  #2 (permalink)  
Antiguo 21/10/2010, 11:36
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

nadie T_T?
  #3 (permalink)  
Antiguo 21/10/2010, 12:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Algo complicado a ver si a alguien se le ocurre.

Creo que no te hiciste entender mucho.

Sin embargo mira el UPDATE INNER JOIN.
mira un ejemplo aca
http://www.forosdelweb.com/f86/no-co...4/#post2881274

lee todo el post.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 21/10/2010, 12:33
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

lo qnecesito es una clausula para que a tanta EXP en la tabla personajes, se cambie el valor de itemcount en la tabla inventario de todos los ids de itemid.

Última edición por Onsterion; 21/10/2010 a las 12:56
  #5 (permalink)  
Antiguo 21/10/2010, 12:56
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

seria algo así

update inventory inner join players where expe =< 352679 Set itemcount = 10 where itemid = 182400001

Alguien q me corrija la sintaxis T_T?
  #6 (permalink)  
Antiguo 21/10/2010, 13:04
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Algo complicado a ver si a alguien se le ocurre.

Código SQL:
Ver original
  1. UPDATE inventory
  2.  INNER JOIN players  
  3. ON inventory.id = players.id
  4. SET itemcount = 10
  5. WHERE itemid = 182400001
  6. AND expe =< 352679

ojo con el ON.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 21/10/2010, 13:47
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

Cita:
Iniciado por huesos52 Ver Mensaje
Código SQL:
Ver original
  1. UPDATE inventory
  2.  INNER JOIN players  
  3. ON inventory.id = players.id
  4. SET itemcount = 10
  5. WHERE itemid = 182400001
  6. AND expe =< 352679

ojo con el ON.
Iteresante :P


Pero me tira error en la linea 6 q seria

and expe =< 352679

y si lo dejo =

me dice columna desconocida en ON inventory.id

P.D: Estoy usando Navicat y los nombres de las tablas estan correctos

Última edición por Onsterion; 21/10/2010 a las 13:52
  #8 (permalink)  
Antiguo 21/10/2010, 16:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

huesos help T_T
  #9 (permalink)  
Antiguo 22/10/2010, 09:38
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Algo complicado a ver si a alguien se le ocurre.

dinos la estructura de las tablas.

que campos tienen cada una y una vez mas, lo que buscas exactamente,

saludos onsterion
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 23/10/2010, 08:39
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

El problema es el siguiente, en un servidor de juegos de un amigo, se mandaron una "CAGADA" propiamente dicho, y desaparecieron los ID's y CANTIDADES de los ITEMS de cada USER (pj). (encima no tenian bakucps).

Los ID's los pude recuperar, pero las cantidades NO y quedaron todas en 1.

Por ejemplo si alguien tenia 1 millon de ORO ahora tiene 1, si tenia 500 pociones ahora tiene 1

Entonces se me ocurrio de dar una retribución PROPORCIONAL al NIVEL de cada usuario. si es LVL máximo que el ID del oro sea igual a 1 millon, que si es lvl medio el ID del ORO sea igual a 500 mil.

Supongo que ahí me explique la idea q tuve.

Ahora la tabla está de la siguiente forma.




En Players= Está la información sobre que nivel y ID tiene cada USER.

En Inventory= Está la información sobre que ID de item es, que cantidad tiene, y a que ID ( de user) pertenece.


Es un re bolonqui =/





Gracias Huesos por fijaterte.-

Última edición por Onsterion; 23/10/2010 a las 08:54
  #11 (permalink)  
Antiguo 24/10/2010, 10:48
 
Fecha de Ingreso: octubre-2010
Mensajes: 73
Antigüedad: 14 años
Puntos: 0
Respuesta: Algo complicado a ver si a alguien se le ocurre.

Alguna idea?

Etiquetas: ver
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 14:47.