我有一个名为“orders”的表格,其中包含以下数据:
Date Order_No Ship_Method
-------------------------------------
12/6/2013 1234567 RTS
12/6/2013 7654321
12/7/2013 3456789 RTS
12/7/2013 9876543
12/7/2013 1123456 RTS
12/7/2013 5523847 RTS
12/8/2013 8876549
12/8/2013 7733654
我需要一个查询来搜索在“Ship_Method”字段中有多少行数据包含“RTS”,并返回我运行查询的那一天的以下结果(如下所示):
Date RTS_Shipments
-------------------------
12/8/2013 0
-安东尼 C.
编辑
关于上述问题,适用于我的查询是以下内容(由答案部分的 Carth 提供):
select
sub.tdate,
count(orders.dt)
from (select to_date(to_char((sysdate-1),'mmddYYYY'),'mmddYYYY') tdate from dual) sub
left join orders on sub.tdate = orders.dt and orders.ship_method like '%RTS%'
group by sub.tdate
SELECT CASE WHEN to_char(dt, 'MM/DD/YYYY') IS NULL THEN trunc(sysdate) ELSE to_char(dt, 'MM/DD/YYYY') END, CASE WHEN COUNT(ship_method) IS NULL THEN 0 ELSE COUNT(ship_method) END FROM orders WHERE trunc(dt) = trunc(SYSDATE - 1) AND ship_method Like '%RTS%' GROUP BY trunc(dt, 'MM/DD/YYYY');
但是一直收到这个错误信息:ORA-00932:不一致的数据类型:期望DATE得到CHAR:SELECT CASE WHEN to_char... - aCarella