我有两个表名为秩序和公众假期如下:条件选择语句
顺序表:
OrderId OrderDate
---------------------------
1 10 Mar 2017
2 12 Mar 2017
3 30 Mar 2017
公众假期表:
HoliId | HolidayDate
---------------------------
1 10 Mar 2017
1 16 Mar 2017
1 17 Mar 2017
我想要做的SQL像下面的伪代码
SELECT OrderId, OrderDate,
if OrderDate is in Holiday Table,
then "public holiday"
else to_char(to_date(DAY, 'dd/mm/yy'), 'OrderDate')
from Order
所以,我想有结果就像下面
OrderId OrderDate DAY
-----------------------------------------
1 10 Mar 2017 Public holiday
2 12 Mar 2017 Monday
3 30 Mar 2017 Friday
我希望看到通过把一列
如果订单日期是基于公众假期表或不是公众假期是否有可能做这个?
'AS'是完全有效的指示列别名 – APC
因此到Oracle SQL参考CASE语句应该以END结束,不是结束,因为(虽然你是对的 - 它的工作原理):[CASE语句参考](http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm) – m3rgus
'CASE'子句以'END'结尾。 “AS”语法是列别名的可选指示符。因此'orderId as order_no'是'orderId orderno'的替代方法。不知道你为什么认为这很重要。 – APC