Sql 如何在Oracle中进行自定义排序?
Oracle查询返回的值如下面的示例所示。但我想知道联系人姓名的顺序,如admin、jack、robert,但下面的顺序不是字母顺序,同时prodid应该是与下面示例相同的组 Oracle查询:Sql 如何在Oracle中进行自定义排序?,sql,oracle,Sql,Oracle,Oracle查询返回的值如下面的示例所示。但我想知道联系人姓名的顺序,如admin、jack、robert,但下面的顺序不是字母顺序,同时prodid应该是与下面示例相同的组 Oracle查询: SELECT part_id, prodname, shippingaddress, contact FROM part p, address a WHERE p.part_id = a.part_id (+) AND p.quarter = a.quarter (+) AND p.quarter
SELECT part_id, prodname, shippingaddress, contact
FROM part p, address a WHERE p.part_id = a.part_id (+)
AND p.quarter = a.quarter (+) AND
p.quarter = '2014' AND order by p.prod_id
以上查询输出:
prodid prodname shippingaddress contact
-------------------------------------------------
01 computer xxxxxx Jack
01 computer xxxxxx admin
01 computer xxxxxx robert
03 keybord xxxxxx admin
03 keybord xxxxx jack
06 cpu xxxx robert
06 cpu xxxx admin
06 cpu xxx jack
预期产出:
prodid prodname shippingaddress contact
-------------------------------------------------
01 computer xxxxxx admin
01 computer xxxxxx jack
01 computer xxxxxx robert
03 keybord xxxxxx admin
03 keybord xxxxx jack
06 cpu xxxx admin
06 cpu xxxx jack
06 cpu xxx robert
这在SQL中可能吗?您可以定义多级顺序:
SELECT part_id, prodname, shippingaddress, contact
FROM part p, address a WHERE p.part_id = a.part_id (+)
AND p.quarter = a.quarter (+) AND
p.quarter = '2014' AND order by p.prod_id, contact
使用更新的连接,例如:
SELECT part_id, prodname, shippingaddress, contact
FROM part p
JOIN address a
ON p.part_id = a.part_id
AND p.quarter = a.quarter
WHERE p.quarter = '2014'
ORDER BY p.prod_id, contact
您可以定义多个订单级别:
SELECT part_id, prodname, shippingaddress, contact
FROM part p, address a WHERE p.part_id = a.part_id (+)
AND p.quarter = a.quarter (+) AND
p.quarter = '2014' AND order by p.prod_id, contact
使用更新的连接,例如:
SELECT part_id, prodname, shippingaddress, contact
FROM part p
JOIN address a
ON p.part_id = a.part_id
AND p.quarter = a.quarter
WHERE p.quarter = '2014'
ORDER BY p.prod_id, contact
试一试
注意:
您的查询使用旧的联接语法。。。尽量避免这种情况,并使用较新的联接语法(查找内部联接、外部联接等,而不是(+)
语法)。试试看
注意:
您的查询使用旧的联接语法。。。尽量避免这种情况,并使用较新的联接语法(查找内部联接、外部联接等,而不是
(+)
语法)。添加按prodname排序,联系添加按prodname排序,联系