Reputation: 133
I have following SQL:
select
origin,destination,to_char(to_date(substr(ship_date,1,6),'YYMMDD'),
'YYYY-MM-DD'),ship_date,trip_number, distinct ship_number
from shipment a
where
a.scc_code in ('xxxxx','xxxxx','xxxxx')
and load_status = 'S' and ship_date like '11%'
and shipper_id = XXXXXX
group by origin,destination,ship_date,trip_number, ship_number
When I run this SQL in Oracle it gives ORA-00936: missing expression. If I remove the distinct keyword, it runs fine. Can anybody tell me the difference between those two things?
Upvotes: 7
Views: 44003
Reputation: 4185
Distinct keyword is for all selected columns, so you have to put it before select
select distinct
origin,destination,to_char(to_date(substr(ship_date,1,6),'YYMMDD'),
'YYYY-MM-DD'),ship_date,trip_number, ship_number
from shipment a
where
a.scc_code in ('xxxxx','xxxxx','xxxxx')
and load_status = 'S' and ship_date like '11%'
and shipper_id = XXXXXX
group by origin,destination,ship_date,trip_number, ship_number
Upvotes: 15