SQL нужна помощь в исправлении / изменении / завершении кода - PullRequest
0 голосов
/ 11 мая 2019

Я изо всех сил пытаюсь выяснить проблему с моим решением для упражнения кода. Я думаю, что я начал это хорошо и у меня есть хорошее основание, но он не запустится (получаю ошибку неверного идентификатора). Может быть, мой код слишком грязный или не имеет смысла? Точно сказать не могу. Если вы, ребята, можете придумать решение лучшего способа исправить это решение кода / ответить на запрос, дайте мне знать.

Я использую Oracle SQL Developer. Вопрос и ERD ниже. Заранее спасибо

Для каждой фондовой биржи отобразить символ акции с наибольшим общим объемом торговли. Показать название фондовой биржи, символ акций и общее количество торговых акций. Сортируйте вывод по названию биржи и биржевому символу.

WITH HighestTradeVolume   
    (SELECT COUNT(trade.shares) total_trades,
            stock_listing.stock_symbol AS "Stock symbol",       
            stock_exchange.symbol AS "Stock Exchange Symbol",          
            stock_exchange.name AS "Stock Exchange"    
    FROM stock_exchange       
         JOIN trade    
              ON trade.stock_ex_id = stock_exchange.stock_ex_id    
         JOIN stock_listing
              ON stock_listing.stock_id = trade.stock_id
              AND stock_listing.stock_ex_id = trade.stock_ex_id     
    GROUP BY stock_exchange.name, stock_exchange.symbol, stock_listing.stock_symbol
        ORDER BY stock_exchange.name, stock_exchange.symbol, stock_listing.stock_symbol)    
    HAVING SUM(trade.shares) = (SELECT MAX(SUM(trade.shares))    
                                 FROM trade );

ERD

1 Ответ

0 голосов
/ 12 мая 2019

У вас есть дополнительный конец скобки в строке ORDER BY, а также отсутствует скобка в конце.

ORDER BY stock_exchange.name, stock_exchange.symbol, stock_listing.stock_symbol --) Extra   
HAVING SUM(trade.shares) = (SELECT SUM(trade.shares) FROM trade ) --Applying MAX is not required.
) --Missing
;   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...