Я пытаюсь отформатировать оператор select. Назначение указывает, что он должен быть отформатирован таким образом.SQL Oracle - отображение значений только один раз за столбец
У меня есть база данных о службе такси. Мне нужно составить представление с названием компании, именем пассажира и номером такси. Легко. Однако вывод указывает, что название компании должно появляться только один раз на выходе, в верхней части его собственной группы. Таким образом, у меня есть:
CREATE VIEW TAXITRIPS(COMPANYNAME, PASSENGERNAME, TAXI#) AS
(SELECT COMPANY.NAME, BOOKING.NAME, VEHICLES.TAXI#
FROM BOOKING JOIN VEHICLES ON BOOKING.TAXI# = VEHICLES.TAXI#
RIGHT OUTER JOIN COMPANY ON VEHICLES.NAME = COMPANY.NAME);
Правое внешнее соединение - это то, что компании, не имеющие регистрации, все еще отображаются. Если я теперь бежать:
SELECT * FROM TAXITRIPS ORDER BY COMPANYNAME ASC;
Это даст мне что-то вроде
COMPANYNAME PASSENGERNAME TAXI#
---------------------------------------------
ABC TAXIS DAVE 192
LEGION CABS
PREMIER CABS SHANE 2154
PREMIER CABS TIM 2169
SILVER SERVICE DAVE 18579
SILVER SERVICE TIM 18124
SILVER SERVICE AARON 18917
Нет результатов для легиона кабин, все поля отображаются, и так далее. Спецификация присваивания говорит, что она должна выглядеть так.
COMPANYNAME PASSENGERNAME TAXI#
---------------------------------------------
ABC TAXIS DAVE 192
LEGION CABS
PREMIER CABS SHANE 2154
TIM 2169
SILVER SERVICE DAVE 18579
TIM 18124
AARON 18917
Название компании должно отображаться только в его первом ряду. DISTINCT не помогает. Любой совет?
Почему ваш вопрос с тегом «SQL Server», но заголовок говорит «Oracle»? –
Потому что я не знаю, что я делаю, если честно. – ben
. , Я предполагаю, что вы используете Oracle. Программное обеспечение, которое вы используете, должно быть в тегах. –