【发布时间】:2015-07-03 07:31:25
【问题描述】:
我正在尝试格式化一个 select 语句。分配指定它必须以这种方式格式化。
我有一个关于出租车服务的数据库。我必须将公司名称、乘客姓名和出租车号码放在一起。简单。但是,输出指定公司名称应仅在输出中出现一次,位于其自己组的顶部。所以我有:
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”?
-
因为老实说,我真的不知道自己在做什么。
-
。 .我猜你正在使用Oracle。您使用的软件应该在标签中。
-
如果您使用的是 SQL*Plus,它可以为您处理此格式要求:docs.oracle.com/cd/B19306_01/server.102/b14357/…
-
这实际上正是我所需要的。破解,就这么简单。谢谢。