J'essaie de compter le nombre de chambres par hôtel pour tous les hôtels. J'ai 3 tables, une avec l'identification d'hôtel et l'information d'hôtel, l'autre avec les états où les hôtels sont (parts Hotel_ID) et un troisième qui a l'information de pièce par identification d'hôtel. Mais je peux obtenir le travail "COUNT" et "GROUP BY" dans cette phrase. J'utilise Oracle sqldeveloperImpossible d'utiliser le groupe par, ORA-00979: pas une expression GROUP BY
SELECT UPPER(A.HOTEL_NAME) "HOTEL NAME",
B.STATE AS STATE,
COUNT(C.ROOM_NUMBER)
FROM HOTEL A
INNER JOIN STATE B ON B.ID_STATE = A.ID_STATE
INNER JOIN ROOM C ON C.ID_HOTEL = A.ID_HOTEL
GROUP BY A.ID_HOTEL
ORDER BY A.HOTEL_NAME ASC;
Lorsque je tente sans le « COUNT » et « GROUP BY » clauses il montre sans problème le nom de l'hôtel dans la première colonne et dans le 2ème l'état où l'hôtel est-il . Quelqu'un sait pourquoi je n'arrive pas à obtenir le nombre de chambres par hôtel (dans une troisième colonne) regroupées par ID d'hôtel?
SAMPLE DATA:
HOTEL TABLE ROOM TABLE STATE TABLE
========================== ======================= ======================
ID_HOTEL | HOTEL_NAME ID_HOTEL | ROOM_NUMBER ID_HOTEL | STATE
40 |STARDUST HOTEL 40 |101 40 |CALIFORNIA
50 |GREENTREE HOTEL 50 |101 50 |ARIZONA
Je me attends quelque chose comme ceci:
RESULTING VIEW:
HOTEL_NAME |STATE |ROOM_COUNT
STARDUST HOTEL |CALIFORNIA |1
GREENTREE HOTEL|ARIZONA |1
Merci à l'avance!
Merci pour la réponse rapide! Je vois et comprends maintenant pourquoi vous avez ajouté les deux colonnes non agrégées, cependant, je reçois toujours la même erreur :(. Donnez-moi une seconde pour télécharger des exemples de données! – Rycerzfrost
Pas de soucis! Vérifiez le violon dans mon édition et laissez Je sais si cela fonctionne pour vous ou si j'ai mal compris quelque chose à propos de votre question –
Ça marche maintenant, merci !! – Rycerzfrost