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

Tengo un lio con las queries

Estas en el tema de Tengo un lio con las queries en el foro de Mysql en Foros del Web. Buenas gente, hoy estaba programando un rato en C++ y decidí meter algo de DB también para completar mis conocimientos un poco. Entonces tengo un ...
  #1 (permalink)  
Antiguo 16/05/2014, 05:34
 
Fecha de Ingreso: diciembre-2013
Mensajes: 12
Antigüedad: 11 años
Puntos: 0
Pregunta Tengo un lio con las queries

Buenas gente, hoy estaba programando un rato en C++ y decidí meter algo de DB también para completar mis conocimientos un poco. Entonces tengo un lio con las queries porque necesito que se cumplan 2 condiciones a la vez: que se seleccione (SELECT COUNT) de una tabla de una base de datos Y a la vez se seleccione otra tabla de otra base de datos. Algunas fotitos para aclarar el tema.

Bases de datos implicadas: http://gyazo.com/ee874ebdecd3dea6907845dd9dc69b2d

De auth usaremos "account_access" columna "gmlevel" http://gyazo.com/134ec2916f7ef79f39ecadc71e602fb4

y de characters usaremos "characters" columna online
http://gyazo.com/3b1731012ebe2042f38e9461481b10da

A estas alturas la gente que se dedique a la emulación de este juego ya habrá reconocido cuál es :D.

Bien la cosa es la siguiente quiero que se seleccione una cuenta (SELECT COUNT) que incluya que gmlevel de auth sea mayor que 1 Y a la vez que online de characters sea = 1

He probado las siguiente queries y no dan resultado:

USE auth; SELECT COUNT(*) FROM `account_access` WHERE gmlevel > 1 AND USE characters: SELECT COUNT(*) FROM `characters` WHERE online = 1;

Aunque no es el foro de C++ adjuntaré con vuestro permiso una imagen para completar, para aquellos que sepan también del tema:
http://gyazo.com/7e94db860429c02e968f9f46e8a95b37

Saludos a todos !!
  #2 (permalink)  
Antiguo 19/05/2014, 02:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Tengo un lio con las queries

La sintaxis para referirte a tablas de bbdd distintas es

nombrebase.nombretabla


En cuanto a lo que pindes no das ninguna información de como se relacionan las dos tablas.

Cita:
quiero que se seleccione una cuenta (SELECT COUNT)
SELECT count(*) a a contar registros ...

Código MySQL:
Ver original
  1. SELECT COUNT(*) FROM `account_access` WHERE gmlevel > 1

Esto cuenta los registros donde gmlevel > 1

y esto

Código MySQL:
Ver original
  1. SELECT COUNT(*) FROM `characters` WHERE online = 1

los que online = 1

Si hay una relación entre unos y otros se podrían contar los que cumplen las dos condiciones.

Imaginemos que `account_access` tiene un campo llamado idAccount y que `characters` tenga un campo llamado igual que ademas se refiere a la misma cuenta (es decir que idAccount=1 de una tabla se refiere a la misma quenta que idAccount=1 de la otra tabla)


Código MySQL:
Ver original
  1.      FROM auth.account_access INNER JOIN characters.characters
  2.             ON auth.account_access.idAccount=characters.characters.idAccount
  3. WHERE auth.account_access.gmlevel > 1
  4.      AND characters.characters.online = 1;

esto daría lo que buscas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: lio, queries, select, tabla
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 01:52.