user1380883
user1380883

Reputation: 11

Every derived table must have its own alias error mysql

i'm running this query on mysql

SELECT dranken.naam, evenement.waardeBonnetjes as drankPrijs  
       SUM(drankAantal1) as drankAantal from( 
           SELECT consumpties.aantal as drankAantal1 FROM consumpties, 
                  drankencategorie, consumptiebezoeker 
           WHERE drankencategorie.idCategorie = ? and
                 drankencategorie.idDranken = consumptiebezoeker.idEventDrank 
                 and consumpties.idConsumptieBezoeker = consumptiebezoeker.id 
       ), 
       SUM(totaalAantalBonnetjes1) as totaalAantalBonnetjes from( 
           SELECT dranken.aantalBonnetjes as totaalAantalBonnetjes1 from dranken,        
           evenementdrank, drankencategorie 
           WHERE dranken.id = evenementdrank.idDrank 
           and evenementdrank.idEvent = ? and drankencategorie.idCategorie = ? 
       )
FROM 
       evenement 
WHERE evenement.id = ? and drankencategorie.idCategorie = ? 
      and dranken.id = drankencategorie.idDranken

It give the error: Every derived table must have its own alias error

What's wrong?

Upvotes: 1

Views: 700

Answers (1)

xQbert
xQbert

Reputation: 35323

( 
           SELECT consumpties.aantal as drankAantal1 FROM consumpties, 
                  drankencategorie, consumptiebezoeker 
           WHERE drankencategorie.idCategorie = ? and
                 drankencategorie.idDranken = consumptiebezoeker.idEventDrank 
                 and consumpties.idConsumptieBezoeker = consumptiebezoeker.id 
       ) t1

each select beyond the 1st must have an alias (t1) or something that the compiler can reference/build from.

or full answer:

SELECT dranken.naam, evenement.waardeBonnetjes as drankPrijs  
       SUM(drankAantal1) as drankAantal from( 
           SELECT consumpties.aantal as drankAantal1 FROM consumpties, 
                  drankencategorie, consumptiebezoeker 
           WHERE drankencategorie.idCategorie = ? and
                 drankencategorie.idDranken = consumptiebezoeker.idEventDrank 
                 and consumpties.idConsumptieBezoeker = consumptiebezoeker.id 
       ) t1, 
       SUM(totaalAantalBonnetjes1) as totaalAantalBonnetjes from( 
           SELECT dranken.aantalBonnetjes as totaalAantalBonnetjes1 from dranken,        
           evenementdrank, drankencategorie 
           WHERE dranken.id = evenementdrank.idDrank 
           and evenementdrank.idEvent = ? and drankencategorie.idCategorie = ? 
       ) t2
FROM 
       evenement 
WHERE evenement.id = ? and drankencategorie.idCategorie = ? 
      and dranken.id = drankencategorie.idDranken

Upvotes: 2

Related Questions