1

私は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

エラーが発生します:すべての派生テーブルには独自のエイリアスエラーが必要です

どうしたの?

4

1 に答える 1

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

最初の選択を超える各選択には、エイリアス(t1)またはコンパイラーが参照/ビルドできる何かが必要です。

または完全な答え:

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
于 2012-05-08T00:25:27.917 に答える