Question on SQL query

Hi guys.  Running an SQL query through Query Generator in SBO, and I've come across something weird.  I won't print the whole SQL query right now, but you can rest assured that both are completely identical, except for one conditional.
If I use a condition (MONTH(T1.DocDate) = MONTH(GETDATE())-1)   i.e. return documents where the posting date is last month, my query returns 500+ results.
If I swap that condition with (T1.DocDate >= CONVERT(DATETIME, '20090501', 112)  ) AND  (T1.DocDate <= CONVERT(DATETIME, '20090531', 112)  )   i.e. where the posting date is between the 1st and 31st of May, my query returns only 260 results.
For some reason, the second condition is excluding more results.  Any general ideas on why?  None of the records that are excluded fail the condition.  They're all dated in May.
Anyway, this is non-critical.  If we can't figure it out, I may throw up the full query.
Thanks again for any help.
James.

Hi Gordon,
You're right - the first criteria is pulling in records from May 2008 as well as 2009.
Thanks a lot.
James.
Edited by: JJSKenny on Jun 11, 2009 12:20 PM
Edited by: JJSKenny on Jun 11, 2009 12:35 PM

Similar Messages

  • Sql Query(Updateable Report) with pagination

    Hi,
    We're on APEX 3.2 I have a question on Sql Query(Updateable Report) and pagination. I have an updateable report which we have set to show 20 rows. When the userwhi has more than 20 rows enters the data and clicks next the data disappears. I have been reviewing other posts, but haven't come to a clear conclusion on how to prevent this from happening. I have been trying to use javascript to show a save popup when clicking 'Next' Any help is appreciated.
    Thanks,
    Joe

    any ideas?

  • SQL query problem with sorting

    Hi,
    I have question regarding sql query . Right now I am getting the results like this if i use this sql query
    select ID,Name,Desc,Priority from emp order by Priority ;
    Priority is varchar field. I don't want to change the Priority field and cannot add a new column in the table. Because i don't have permission to do that.
    ID Name Desc Priority
    =============================================
    234 paul paul desc Highest
    3452 mike mike desc High
    4342 smith smith desc Low
    6565 kelly kelly desc Low
    9878 nate nate desc Medium
    3223 deb deb desc High
    ============================================
    I need a query to get the results like that.
    ID Name Desc Priority
    =============================================
    234 paul paul desc Highest
    3452 mike mike desc High
    3223 deb deb desc High
    9878 nate nate desc Medium
    4342 smith smith desc Low
    6565 kelly kelly desc Low
    ============================================
    If any one knows about this one, please let me know.
    Thanks,
    Bala

    You are aware that there are differences in the SQL implementation between Sqlserver and Oracle? You could try something like this, if there's a INSTR function:
    ORDER BY INSTR('Highest,High,Medium,Low,', Priority || ',')You may have to change the "Priority || ," to a "Priority + ','), if string concatenation is done differently in sqlserver. Don't know about the ('), maybe you need (").
    C.

  • SQL query...pls help ASAP

    Actor (Aname: varchar(40), Ano: varchar(6)) Ano is pk
    Movie (Mname: varchar(40),mno: varchar(8)) Mno is pk
    PlayIn (Ano, Mno, Pay: Integer) Ano and Mno are fk referencing Acotr and Movie respectively.
    Actor(Aname, Ano)
    A Bingo, A1
    B Castro, A2
    C Katie, A3
    S Hommy, A4
    J Tammy, A5
    K loren, A6
    Movie(Mname, Mno)
    Gladiator, M1
    Cast, M2
    Dog, M3
    Jilters, M4
    PlayIn(Ano,Mno,Pay)
    A1 M1 800
    A1 M2 1500
    A2 M2 78
    A2 M3 1750
    A2 M4 2301
    A3 M2 904
    A3 M3 629
    A4 M2 565
    A4 M3 5695
    A4 M4 1255
    A5 M1 989
    A5 M4 238
    A6 M2 137
    A6 M3 236
    A6 M4 545
    QUESTION: write SQL query to find the names of actors who earned less than 'B Castro' in each movie that 'B Castro' played in.

    thanks so so much.....
    another question:
    for each movie, list the movie number, the average
    pay and the total number of actors in the movie.....Rather than just asking homework questions and expecting everyone else to do your work for you, why don't you at least have a go at it yourself and post the query that you've tried, then we'll tell you where you are going wrong. You won't learn anything if we just write it for you.
    Also, your use of "pls help ASAP" in the subject title is not polite.
    This forum is manned by volunteers who have their own jobs and offer their help free of charge.
    Everyone who posts an issue on here would love to have it answered as soon as possible, but nobody has the right to assume that their issue is any more important, urgent or requires a quicker answer than anybody elses.
    If you need urgent help then you should pay someone to do the work for you.

  • Question about using objects in SQL query.

    I had posted this question in the SQL/PLSQL forum but I guess nobody took the time to understand exactly what I am asking so I decided to try here hoping to get the answer. So here is the thing:
    I have created generic object type "tree" - the constructor takes as a parameter sql query which returns "node_id" and "parent_node_id" - this is all we need to have a tree. The object has all related to a tree structure member functions and one of them is "oldest_relative" (the tree may not be fully connected - it may be more like a set of many trees, so it's not necessary all nodes to have the same root).
    I also have departments table with the following fields: department_id, parent_department_id, department_name,...
    all records in the table w/out parent_departments (parent_department_id is null) are considered divisions.
    Now if I run the following query:
    SELECT "DEPARTMENT_ID", "PARENT_DEPARTMENT_ID", "DEPARTMENT_NAME", tree('select department_id "node_id", parent_department_id "parent_node_id" from departments').oldest_relative("DEPARTMENT_ID") "DIVISION_ID" FROM departments
    my question is: Is the tree object created for every row or does Oracle somehow caches the object since the object itself is not changing but only the parameter for the oldest_relative member function.
    The table only has a few hunderd records and I can't see much of a difference in the execution time btw the query above and query like this:
    SELECT "DEPARTMENT_ID", "PARENT_DEPARTMENT_ID", "DEPARTMENT_NAME", b.t.oldest_relative("DEPARTMENT_ID") "DIVISION_ID"
    FROM departments left join (select tree('select department_id "node_id", parent_department_id "parent_node_id" from departments') t from dual) b on 1 = 1
    where the object is clearly created just ones. (there is probably a better way to do it instead of this join)
    Pls elaborate
    George

    Not exactly sure what the question is...
    As I understand, you are comparing the following two constructor calls:
    +select..  tree('select department_id "node_id", parent_department_id "parent_node_id" from departments').oldest_relative("DEPARTMENT_ID") ... FROM ...+
    +select tree('select department_id "node_id", parent_department_id "parent_node_id" from departments') ... FROM dual+
    These calls are the same (besides the 1st one doing an immediate implicit call to a method of the object being constructed). The number of times these are being called depends on the number of times this SQL projection is applied - and that is determined by the number of rows being projected by the SELECT.
    The latter one is against DUAL which only has a single row. So that constructor is only called once. The former can be against multiple rows. Obviously a single pass through a data set is desirable - which means that the sub-select (use by the constructor) should ideally only be executed once and makes the 2nd method more desirable.
    However, I'm having a hard time understanding why the class and constructor are at all needed. Why pull data from a SQL table into PL memory? As that is where the class will need to cache and store the results of that construction parameter SQL SELECT. And once in PL memory, how does the object effectively access, search and use this cached data?
    PL memory is expensive. It is not sharable.
    PL data structures are primitive - these cannot be compared to SQL structures in the form of tables and columns that can be stored in a number of physical ways (index tables, hash tables, partitioned tables, clustered tables, etc). Cannot be indexed like SQL structures using B+tree, bitmap, function and other indexing methods. Cannot be sorted, grouped, analysed, filtered, etc like SQL structured data.
    It makes very little sense to read SQL data into a class and then deal with that data, cached in expensive PL memory, using primitive PL structures.
    And the same would be true if Java or C# was used. The best place for data is inside the SQL engine. That is the most superior environment for data. It can processes more data, scale better, perform better and offer more flexibility, than pulling data from it and then crunch that data using PL or Java or C#.

  • SQL Query returns question marks

    I am seeing a SQL Query, executed via ADODB in VB, from a 10G client (don't know exact version) to a Sun Solaris based 9.2.0.5.0 Server return all question marks...Table queried consists of 3 columns, 2 varchar2, one long: Here query:
    SELECT SETTINGVALUE FROM EWORKFLO.CONFIG WHERE SETTINGGROUP='New test' AND SETTINGNAME='Single Page'
    The query results in 2576 question marks...(????? etc).
    Any idea what may be going on here?
    Thanks...
    Leendert

    Hello Tak,
    Thanks for replying. When this query is run from SQLPLUS we get a proper result back, that is the actual values from the SETTINGVALUE column. This is the LONG column and contains data like this:
    [Scan Section]
    DeviceTimeout=15
    Display=1
    hDCCreate=0
    Unit=0
    DialogTitle=
    IniFileName=c:\winnt\temp\kf.ini
    IniSectionName=Scan Section
    DeviceCache=1
    etc....etc....
    Depending on the settings created, the return string may vary in length.
    Leen

  • Generated SQL query question

    In my OBIEE development environment, a report I create in Answers generates the following SQL query to the database:
    select T29323.LOCATION as c1,
    T29323.TOOL_NAME as c2,
    T29323.JOB_NUMBER as c3,
    from
    EDB.EDB_JOB_NUMBER_PARAMETER_T_V T29323
    where
    ( T29323.JOB_NUMBER = 1319511
    and T29323.CREATION_DATE <= TO_DATE('2008-05-21 08:38:18' , 'YYYY-MM-DD HH24:MI:SS')
    and (T29323.LOCATION in ('MOO', 'RR'))
    and T29323.CREATION_DATE >= TO_DATE('2008-05-18 08:38:18' , 'YYYY-MM-DD HH24:MI:SS'))
    However, in my OBIEE Production environment the same report generates the following SQL query to the database;
    select D1.c12 as c1,
    D1.c11 as c2,
    D1.c10 as c3
    from
    (select T29323.JOB_NUMBER as c10,
    T29323.TOOL_NAME as c11,
    T29323.LOCATION as c12
    from
    EDB.EDB_JOB_NUMBER_PARAMETER_T_V T29323
    where ( T29323.JOB_NUMBER = 1319511
    and T29323.CREATION_DATE <= TO_DATE('2008-05-21 09:19:03' , 'YYYY-MM-DD HH24:MI:SS')
    and (T29323.LOCATION in ('MOO', 'RR'))
    and T29323.CREATION_DATE >= TO_DATE('2008-05-18 09:19:03' , 'YYYY-MM-DD HH24:MI:SS'))
    ) D1
    Any ideas why the queries are different? I have looked through my config files to see if a setting is different, but all are the same.
    I am running OBIEE 10.1.3.3.2
    Any suggestions would be appreciated.
    Thanks,
    Kevin

    Hi Kevin,
    I have the same problem with generated SQL querys, I get different result with the same repository, same query in Answers, same OS... in several environments.
    The BI vesion is 10.1.3.4
    Any idea about the question?
    Regards
    Guillermo

  • Database - Show SQL Query question..

    Greetings:
        I am helping a co-worker with Crystal. I don't use crystal but I am able to explain the problem. My co worker is currently using crystal reports 8.5. If he pulls a query and the report is generated he can then click on Database menu then click on Show SQL Query. From there he is able to edit, add, remove fields. Now we want to place him on Crystal V10. When he does the same task, instead of being able to edit the Show SQL query he can only view it. Is there a way around this so that he can Edit the sql query in version 10 or did that feature go away in versions 9 and above. Also we are going to Purchase Crystal 2008, is this feature available in 08? Any help would be appreicated..

    Hi there!
    I have the same problem as described above.  I have been asked to figure out what is wrong with one of the reports that used to work when we used MAS 4.05.  We are now on MAS 4.20 with Crystal Reports v.10 and the report fails to run.  I loaded the report into Crystal to see if I could see the problem and I discovered that the report is still trying to access a table from the old MAS database.  The SQL code as shown in the Show SQL Query window is as follows:
    SELECT "AR_InvoiceHistoryHeader"."InvoiceNo", "AR_InvoiceHistoryDetail"."ItemCodeDesc", "AR_InvoiceHistoryDetail"."ItemCode", "AR_InvoiceHistoryDetail"."ExtensionAmt"
    FROM   "AR_InvoiceHistoryHeader" "AR_InvoiceHistoryHeader", "AR_InvoiceHistoryDetail" "AR_InvoiceHistoryDetail"   
    WHERE  "AR_InvoiceHistoryHeader"."InvoiceNo"="AR_InvoiceHistoryDetail"."InvoiceNo" AND "AR_InvoiceHistoryHeader"."HeaderSeqNo"="AR_InvoiceHistoryDetail"."HeaderSeqNo" AND "AR_InvoiceHistoryHeader"."CommissionAmt"="AR_InvoiceHistoryDetail"."CommissionAmt" AND      ARO_InvHistoryDetail."SOItemNumber" <> 'COMMENT' AND      ARN_InvHistoryHeader."InvoiceDate" = {d '2007-09-21'}  
    ORDER BY "AR_InvoiceHistoryHeader"."InvoiceNo"
    The problem is that ARN_InvHistoryHeader needs to be AR_InvoiceHistoryHeader and SOItemNumber needs to be ItemCode.
    When I go into the Database Expert, I can only see the tables in the FROM clause.  I don't know how to modify the WHERE clause.  It kind of looks like this report was only partially converted to the new version.  Is there a way to changed these attributes without rebuilding the whole report?
    By the way, I apologize for not setting my SQL off in a code box, but I tried that and it caused the page to be very wide with no horizontal scroll bar.
    Edited by: Jason Schill on Oct 27, 2008 11:30 PM

  • SQL Query Data Model Question

    Hi All,
    I'm new to XMLPublisher so i'll try to explain the best i can the problem i'm having creating a Data Model for my report.
    I'm using Database XE and have installed XMLPublisher, as XE is extremely flexible in creating apps i'm having huge trouble finding a reporting solution for my applicaiton. I have created an app to track and control time and expense which i want to generate timesheet, expense sheets, invoice etc from.
    Having done some read i think XML is the best approach for me however i'm having huge troubles with my data model.
    EXAMPLE:
    I have 2 tables to start with, first table holds client information and the second table holds project information. One client can have many projects.
    When i create the Data Model using SQL i get the obvious problem that when a client has more then one project my XML structure is incorrect.
    SELECT gc.name AS CLIENT,
    gp.name AS PROJECT
    FROM gte_client gc,
    gte_project gp
    WHERE gc.client_id = gp.client_id(+)
    The above SQL creates the following XML
    - <ROWSET>
    - <ROW>
    <NAME>Symatrix Ltd</NAME>
    <NAME>Symatrix Pre-Sales</NAME>
    </ROW>
    - <ROW>
    <NAME>Aston Carter</NAME>
    <NAME>MOD</NAME>
    </ROW>
    - <ROW>
    <NAME>Symatrix Ltd</NAME>
    <NAME>Fujitsu</NAME>
    </ROW>
    </ROWSET>
    Obvious problem here is the fact that client Symatrix appears twice as there are 2 projects.
    I have tried to write SQL/XML and i think i'm beginning to understand the structure of the XML functions however XMLPublisher doesn't appear to understand the syntax when creating a SQL Query for the data model.
    I hope all this makes sense.
    Kind Regards
    Glen

    Hi All,
    Ok, so with a little searching through documents and articles on the web i found this information.
    http://blogs.oracle.com/xmlpublisher/2006/05/05#a38
    this details the exact thing i'm trying to achieve so anyone else who searches this forum with a similar problem check this out.
    Regards
    Glen

  • Dynamic sql query question

    hi all,
    i created a report that displays results based on this query initially.
    select *
    from EMP
    where 1=1;
    i'm using a SQL Query (PL/SQL Function Body Returning SQL Query).
    i have search items in my page like empno, lastname, firstname, middle, email_address etc... when i place a value for lastname then in my query it should add AND LASTNAME = :P1_LASTNAME.
    so the query returned should now have
    select *
    from EMP
    where 1=1
    and LASTNAME = :P1_LASTNAME;
    is this possible?
    i was thinking something like looping for all search items in the page (ie. text, popup lov, datetimepicker) then check whether the item is null or not... when not null then probably get the substring of the item name like (ie. substr(:P1_LASTNAME) and get only LASTNAME then add "=" then concat it with the item name. not sure if this is possible though.
    thanks
    allen

    hi denes,
    thanks for the sample... i noticed that the sample hard codes additional conditions to be added to the sql query which is okay when the search criteria is less than 5-10... but i'm thinking if the search criteria will be like 15-30 fields or make all fields searchable, this might be uncomfortable.
    what i was thinking is like loop thru all the items i.e.
    declare
    sql varchar2(4000) := 'select * from emp where 1=1';
    begin
    for i in (select * from all_items_in_apex) -- this is just an example.
    loop
    if i.value is not null then
    sql := sql || ' and ' || i.column || '=' || i.value;
    end if;
    end loop;
    end;
    the only thing is that i don't know if there's a possible replacement for the clause (select * from all_items_in_apex).
    sorry if i'm asking too much but this is how i normally do it in forms. the suggestion in the link you provided should be sufficient but i was just wondering if this idea is also possible.
    thanks again.
    allen

  • Sql query question - been trying for two days

    Hi guys im trying to carry out an sql query
    Im using a left join to do a query, which gives me a set of results:
    select COURSESTUDENT.StudentNo, COURSESTUDENT.CourseCode, COURSESTUDENT.Year, MARKS.ExamMark, MARKS.EntryNo FROM COURSESTUDENT LEFT JOIN MARKS ON COURSESTUDENT.StudentNo=MARKS.StudentNo AND COURSESTUDENT.CourseCode=MARKS.CourseCode AND COURSESTUDENT.Year=MARKS.Year
    but I would like to do a select on this result but do not want to use a create view as if more than one person access this page at a time then if the servlet tries to create the view an error will occur.
    I would like to do the following select statement on the results of the query above..
    select * from (above) where CourseCode='ELE304' AND Year=1999;
    Is this possible, im using postgres..
    Please help......
    thanks
    tzaf

    Sorry, I have never used postgres, but in several databases, the following syntax would work and provide the correct ResultSet.
    select *
    from (
         SELECT
             COURSESTUDENT.StudentNo,
             COURSESTUDENT.CourseCode,
             COURSESTUDENT.Year,
             MARKS.ExamMark,
             MARKS.EntryNo
         FROM
             COURSESTUDENT LEFT JOIN MARKS ON
             COURSESTUDENT.StudentNo=MARKS.StudentNo AND
             COURSESTUDENT.CourseCode=MARKS.CourseCode AND 
             COURSESTUDENT.Year=MARKS.Year
         ) A
    WHERE
        CourseCode='ELE304' AND
        Year=1999

  • SQL Query?  The question is how?

    Hi folks,
    I am developing a finance program and I am having difficulty writing a SQL query to get the info that I need.
    In short I have two tables:
    TABLE 1: Currency Rates
    FROM_CURRENCY (CURRENCY_ABRV)
    TO_CURRENCY (CURRENCY_ABRV)
    EXCHANGE_RATE
    DATE
    TABLE 2: Currency Country
    CURRENCY_ABRV
    CURRENCY_NAME
    CURRENCY_SYMBOL
    COUNTRY
    REGION
    COUNTRY_FLAG_IMAGE
    I want to get the following information:
    1. FROM_CURRENCY_FLAG
    2. FROM_COUNTRY
    3. TO_CURRENCY_FLAG
    4. TO_COUNTRY
    5. RATE
    So basically using Table 1 FROM_CURRENCY & TO_CURRENCY and getting the relevant Country & Flag for each. The problem is that I cannot seem to get this info from one select statement. I at the moment I am getting all the records from Table 1. Then for each From & To currency searching Table 2.
    This is very very time consuming. Anyone can help how to do this better.
    Many thanks
    James

    SELECT
    FROM_CURRENCY FROM_CURRENCY_FLAG,
    a.COUNTRY FROM_COUNTRY,
    TO_CURRENCY TO_CURRENCY_FLAG,
    b.COUNTRY TO_COUNTRY,
    EXCHANGE_RATE RATE
    FROM TABLE1, TABLE2 a, TABLE2 b
    WHERE FROM_CURRENCY = a.CURRENCY_ABRV
    AND TO_CURRENCY = b.CURRENCY_ABRV;
    You join TABLE1 with TABLE2 by FROM_CURRENCY and again with TABLE2 by TO_CURRENCY.
    TABLE2 uses once alias name a and then alias name b, so a and b seem like different tables in the query.
    All columns are assigned alias names in the SELECT clause to match your requirements.

  • A simple SQL query question

    I have an interesting problem and wondering how I can get this result in a single SQL query:
    Here is table emp has data with a row for every year since the employee joined with the salary paid that particular year with following columns:
    emp (
    id varchar2(10),
    name varchar2(25),
    interested_year date,
    salarypaid number(10)
    I would like to print the results as follows:
    id name previousyear_salarypaid currentyear_salarypaid
    x xxxxx xxxxxx xxxxx
    Is this possible to do? I have tried to simplify my actual problem so I hope I have included all necessary details.

    Just to clarify, the columns mentioned in the results are
    previousyear_salarypaid is nothing but
    salarypaid where interested_year = '2007'
    currentyear_salarypaid is nothing but
    salarypaid where interested_year = '2006'

  • SQL query question for SQL Swing Applet

    Hi
    I am building a little SQL Swing applet.
    I was wondering if there is a SQL query statement to
    find:
    * The names of all the tables in the Database loaded.
    * The number of tables in a database loaded.
    Thank you very much in advance, A.

    Not positive, but check out Connection.getMetaData(). It returns a DatabaseMetaData instance that has a number of get... methods that may provide the info you need.

  • SQL-Query-Question: get all ID2 which have specific ID1

    Hello,
    I have a table Tab1 with millions of entries like
    ID1    ID2
    1       aa
    4       aa
    1       bb
    4       cc
    I'm looking for a sql-query which gives me all ID2-values which have a all of the supplied ID1, in the example above if I query for 1 4 then I want aa and not bb or cc because bb has only 1 and cc only 4.
    The values of ID1 could be a lot like (1,2,3,5,7,8,9,10,34,4,67,33,53,43...).
    Greetings
    Stefan

    just this
    SELECT ID1,ID2
    FROM Table t
    WHERE EXISTS (SELECT 1
    FROM Table
    AND ID2 = t.ID2
    HAVING COUNT(DISTINCT CASE WHEN ID1 IN (1,4) THEN ID1 ELSE NULL END) = 2
    If you want you can pass values 1,4 through a parameter to make it generic like below           
    DECLARE @ValueList varchar(10)
    SET @ValueList = '1,4'
    SELECT ID1,ID2
    FROM Table t
    WHERE EXISTS (SELECT 1
    FROM Table
    WHERE ID2 = t.ID2
    HAVING COUNT(DISTINCT CASE WHEN ',' + @ValueList + ',' LIKE '%,' + CAST(ID1 AS varchar(5)) + ',%' THEN ID1 END) = LEN(@ValueList) - LEN(REPLACE(@ValueList,',','')) + 1
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

Maybe you are looking for

  • Video is randomly distorted (color inverted) in Premiere Pro CC 2014

    Below is a screen grab of what the distortion looks like. It happens regardless of CODEC, sequence setting or type of video file. It happens to MPG, MOV and AVI files equally. It even happens to still graphics. Here are the particulars for my compute

  • Populate Final internal table from Dynamic internal table

    Hello, I have ti display data in ALV grid whose structure is fixed. I am dynamically selecting data iin an internal table. Now from this dynamic internal table, i need to populate my final internal table whose structurte is fixed. Please help. Rgds,

  • NullPointerException at oracle.sql.BLOB.createTemporary(BLOB.java:590)

    Hi, I seldom use the BLOB. Here is the coding that creates a BLOB. private  BLOB getBlob(byte[] str, Connection con) throws SQLException, IOException {   BLOB blob = BLOB.createTemporary(con, true, BLOB.DURATION_SESSION);   blob.open(BLOB.MODE_READWR

  • Good Eveing!:)

    I´ve got a question, i upload my first website this evening. Than i want to change my guestbook in adobe muse. when i was finish, a message says me, the file can´t be saved.. And then Adpobe muse say: Error cod: 3123, the file can´t be saved. Now my

  • "Locking" layers view in InDesign

    I'm not even sure how to describe this, so forgive me if there's something out there than answers this question. I work with layers in both photoshop and illustrator quite a bit, mainly because I work with things that have displays and those displays