sql >> Databasteknik >  >> RDS >> Mysql

Slå samman två tabeller för en SELECT-fråga?

Du vill använda en UNION SELECT :

SELECT p.id, COUNT(p.id), SUM(p.points)
FROM (SELECT userh_userid AS id, userh_points AS points
      FROM users_history1
      UNION SELECT userl_userid, userl_points
      FROM users_ladders1) AS p
GROUP BY p.id

Underfrågan är den viktiga delen. Det kommer att ge dig en enda tabell med resultaten av både nuvarande och historiktabeller kombinerade. Du kan sedan välja från den tabellen och göra COUNT och SUM för att få dina medelvärden.

Min MySQL-syntax är ganska rostig, så ursäkta det. Jag har inte haft en chans att köra det här, så jag är inte ens säker på om det körs, men det borde räcka för att du ska komma igång.



  1. 3 sätt att formatera ett tal som en procentandel i PostgreSQL

  2. Anrop till lagrad procedur , när procedurens namn i en variabel i mysql

  3. Inaktivera tillfälligt alla begränsningar för främmande nyckel

  4. Hur man designar en databasmodell för ett biobokningssystem