> "Jamadagni, Rajendra" wrote:
> 
> Well,
> 
> Let me point out one thing .... following is the original query ...
> 
> -- this returns no rows ...
> select ea1.ep_number, ea1.est_dt, veas.est_dt
>   from (select a.ep_number, ea.est_dt
>           from v_episode_avail_summary_break a, episode_airings ea
>          where a.ep_number = ea.ep_number
>            and ea.est_dt between '20-Dec-02' and '01-Jan-03'
>          group by a.ep_number, ea.est_dt) veas,
>        episode_airings ea1
> where veas.ep_number = ea1.ep_number
>   and ea1.est_dt between '20-Dec-02' and '01-Jan-03'
> 
> -- This DOES work ... returns all the right rows
> select ea1.ep_number, ea1.est_dt, veas.est_dt
>   from (select a.ep_number, ea.est_dt
>           from v_episode_avail_summary_break a, episode_airings ea
>          where a.ep_number = ea.ep_number
>            and ea.est_dt between '20-Dec-02' and '01-Jan-03'
>          group by a.ep_number, ea.est_dt) veas,
>        episode_airings ea1
> where veas.ep_number = ea1.ep_number
> --  and ea1.est_dt between '20-Dec-02' and '01-Jan-03'
> 
> Point to consider is that the "commented out where clause" is the same
> as the one used in the from clause query ... then why does it fail?
> 
> Tom: according to Oracle, when comparing a varchar2 to a date column,
> the string does get converted to a date ...
> 
> The reason i am asking this I have to explain the developers on why
> this isn't working. They agree that explicit datatype conversion is a
> good idea but their managers want to know why ??
> 
> (yeah ... sure go ahead pity me ...)
> Raj

Raj,

   I think I've got it. In the in-line view the implicit conversion
going on is a to_date() applied to the string constants (since it
works). Outside it must be a to_char() applied to the date column. Why
it is so escapes my understanding but it may have something to do with
getting the column directly from a well known table in the first case,
and from a built-on-the-fly view in the second one.
  Talking about the developers and their managers, perhaps you could
hint that having a GROUP BY without any aggregate function is probably
their way to program SELECT DISTINCT, and that since they are using only
a single column from  (which by the way happens to also be in
episode_airings, since it's used for the join) is a bit weird (unless
you have simplified the query for testing purposes?). I am sure that the
query would be better directly working on the tables 'below'
v_episode_avail_summary_break.
-- 
Regards,

Stephane Faroult
Oriole Software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to