Query producing null results

I have the following update statement:
update Position set value=(select price from SecuMaster where SecuMaster.cusip = Position.cusip and SecuMaster.dealernumber='ID' and SecuMaster.dealernumber=Position.dealernumber and SecuMaster.price is not null)* Position.sharesThe problem is if there is no SecuMaster.price for the current Position.cusip, I get the null return.
I want to prevent the null from being used.
is there any way to avoid this, some sort of conditional in sql?

iketurner wrote:
I have the following update statement:
Helps to format lines so that they are more readable.
>
update Position set value=(
select price from SecuMaster
where SecuMaster.cusip = Position.cusip
and SecuMaster.dealernumber='ID'
and SecuMaster.dealernumber=Position.dealernumber
and SecuMaster.price is not null)* Position.shares
The problem is if there is no SecuMaster.price for the current Position.cusip, I get the null return.
I want to prevent the null from being used.
is there any way to avoid this, some sort of conditional in sql?Currently the situation is that every row is gettng updated. So obviously the column
must be set to something.
Value needs to be set to something correct? So do you just not want to overwrite it
or do you want something else there?
Note that problems like this usually require information about which database and version is in use.

Similar Messages

  • SQL Query produces different results when inserting into a table

    I have an SQL query which produces different results when run as a simple query to when it is run as an INSERT INTO table SELECT ...
    The query is:
    SELECT   mhldr.account_number
    ,        NVL(MAX(DECODE(ap.party_sysid, mhldr.party_sysid,ap.empcat_code,NULL)),'UNKNWN') main_borrower_status
    ,        COUNT(1) num_apps
    FROM     app_parties ap
    SELECT   accsta.account_number
    ,        actply.party_sysid
    ,        RANK() OVER (PARTITION BY actply.table_sysid, actply.loanac_latype_code ORDER BY start_date, SYSID) ranking
    FROM     activity_players actply
    ,        account_status accsta
    WHERE    1 = 1
    AND      actply.table_id (+) = 'ACCGRP'
    AND      actply.acttyp_code (+) = 'MHLDRM'
    AND      NVL(actply.loanac_latype_code (+),TO_NUMBER(SUBSTR(accsta.account_number,9,2))) = TO_NUMBER(SUBSTR(accsta.account_number,9,2))
    AND      actply.table_sysid (+) = TO_NUMBER(SUBSTR(accsta.account_number,1,8))
    ) mhldr
    WHERE    1 = 1
    AND      ap.lenapp_account_number (+) = TO_NUMBER(SUBSTR(mhldr.account_number,1,8))
    GROUP BY mhldr.account_number;      The INSERT INTO code:
    TRUNCATE TABLE applicant_summary;
    INSERT /*+ APPEND */
    INTO     applicant_summary
    (  account_number
    ,  main_borrower_status
    ,  num_apps
    SELECT   mhldr.account_number
    ,        NVL(MAX(DECODE(ap.party_sysid, mhldr.party_sysid,ap.empcat_code,NULL)),'UNKNWN') main_borrower_status
    ,        COUNT(1) num_apps
    FROM     app_parties ap
    SELECT   accsta.account_number
    ,        actply.party_sysid
    ,        RANK() OVER (PARTITION BY actply.table_sysid, actply.loanac_latype_code ORDER BY start_date, SYSID) ranking
    FROM     activity_players actply
    ,        account_status accsta
    WHERE    1 = 1
    AND      actply.table_id (+) = 'ACCGRP'
    AND      actply.acttyp_code (+) = 'MHLDRM'
    AND      NVL(actply.loanac_latype_code (+),TO_NUMBER(SUBSTR(accsta.account_number,9,2))) = TO_NUMBER(SUBSTR(accsta.account_number,9,2))
    AND      actply.table_sysid (+) = TO_NUMBER(SUBSTR(accsta.account_number,1,8))
    ) mhldr
    WHERE    1 = 1
    AND      ap.lenapp_account_number (+) = TO_NUMBER(SUBSTR(mhldr.account_number,1,8))
    GROUP BY mhldr.account_number;      When run as a query, this code consistently returns 2 for the num_apps field (for a certain group of accounts), but when run as an INSERT INTO command, the num_apps field is logged as 1. I have secured the tables used within the query to ensure that nothing is changing the data in the underlying tables.
    If I run the query as a cursor for loop with an insert into the applicant_summary table within the loop, I get the same results in the table as I get when I run as a stand alone query.
    I would appreciate any suggestions for what could be causing this odd behaviour.
    Cheers,
    Steve
    Oracle database details:
    Oracle Database 10g Release 10.2.0.2.0 - Production
    PL/SQL Release 10.2.0.2.0 - Production
    CORE 10.2.0.2.0 Production
    TNS for 32-bit Windows: Version 10.2.0.2.0 - Production
    NLSRTL Version 10.2.0.2.0 - Production
    Edited by: stevensutcliffe on Oct 10, 2008 5:26 AM
    Edited by: stevensutcliffe on Oct 10, 2008 5:27 AM

    stevensutcliffe wrote:
    Yes, using COUNT(*) gives the same result as COUNT(1).
    I have found another example of this kind of behaviour:
    Running the following INSERT statements produce different values for the total_amount_invested and num_records fields. It appears that adding the additional aggregation (MAX(amount_invested)) is causing problems with the other aggregated values.
    Again, I have ensured that the source data and destination tables are not being accessed / changed by any other processes or users. Is this potentially a bug in Oracle?Just as a side note, these are not INSERT statements but CTAS statements.
    The only non-bug explanation for this behaviour would be a potential query rewrite happening only under particular circumstances (but not always) in the lower integrity modes "trusted" or "stale_tolerated". So if you're not aware of any corresponding materialized views, your QUERY_REWRITE_INTEGRITY parameter is set to the default of "enforced" and your explain plan doesn't show any "MAT_VIEW REWRITE ACCESS" lines, I would consider this as a bug.
    Since you're running on 10.2.0.2 it's not unlikely that you hit one of the various "wrong result" bugs that exist(ed) in Oracle. I'm aware of a particular one I've hit in 10.2.0.2 when performing a parallel NESTED LOOP ANTI operation which returned wrong results, but only in parallel execution. Serial execution was showing the correct results.
    If you're performing parallel ddl/dml/query operations, try to do the same in serial execution to check if it is related to the parallel feature.
    You could also test if omitting the "APPEND" hint changes anything but still these are just workarounds for a buggy behaviour.
    I suggest to consider installing the latest patch set 10.2.0.4 but this requires thorough testing because there were (more or less) subtle changes/bugs introduced with [10.2.0.3|http://oracle-randolf.blogspot.com/2008/02/nasty-bug-introduced-with-patch-set.html] and [10.2.0.4|http://oracle-randolf.blogspot.com/2008/04/overview-of-new-and-changed-features-in.html].
    You could also open a SR with Oracle and clarify if there is already a one-off patch available for your 10.2.0.2 platform release. If not it's quite unlikely that you are going to get a backport for 10.2.0.2.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Query Producing Incorrect Results

    Hello:
    I am trying to perform a number of queries on a database and
    although I am not receiving an error message; I know that the
    returned results are incorrect.
    For example, in my test data; I have only 1 record that
    matches the SchoolBoardID (Therefore the record could only have one
    grade, one gender, etc. yet my queries are returning results for
    both genders (Male and Female) and multiple grades (11 and 12) when
    the record in question actually has a grade 9 assignment.
    I have looked at my code over and over and I cannot find
    where the problem is; does anyone see anything that jumps out at
    them?
    I am using an MS-Access database and I have the following
    data types for the relevant fields in question.
    Field Name = SchoolBoardID - Numeric - Sample Data - 74
    Field Name = StudentTraineeGender - Data Type = Text - Sample
    Data - Either Male or Female
    Field Name = StudentTraineeGrade - Data Type = Text - Data
    Contains the following (9, 10, 11, 12, 12+ Hence the reason for
    having to use a Text data type)
    Field Name = SchoolYear - Data Type = Text - Sample Data -
    2006-2007
    Field Name = TradeCode - Data Type = Text - Sample Data -
    444A
    Field Name = TeacherWEAApproval - Data Type = Yes/No - Sample
    Data - 1 or 0
    <!--- Query The Database to find all Grade 11 Males Who
    Are Taking an Apprenticeable Trade --->
    <cfquery name="GetGrade11Males"
    datasource="MyDataSource">
    Select SchoolBoardID, StudentTraineeGender,
    StudentTraineeGrade, SchoolYear, TradeCode, TeacherWEAApproval From
    WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And StudentTraineeGender = 'Male'
    And StudentTraineeGrade = '11'
    And TradeCode <> '0000'
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfGrade11Males =
    #GetGrade11Males.RecordCount#>
    <!--- End Of The Query to find all Grade 11 Males Who Are
    Taking an Apprenticeable Trade --->
    <!--- Query The Database to find all Grade 12 Males Who
    Are Taking an Apprenticeable Trade --->
    <cfquery name="GetGrade12Males"
    datasource="MyDataSource">
    Select SchoolBoardID, StudentTraineeGender,
    StudentTraineeGrade, SchoolYear, TradeCode, TeacherWEAApproval From
    WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And StudentTraineeGender = 'Male'
    And StudentTraineeGrade = '12' Or StudentTraineeGrade =
    '12+'
    And TradeCode <> '0000'
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfGrade12Males =
    #GetGrade12Males.RecordCount#>
    <!--- End Of The Query to find all Grade 12 Males Who Are
    Taking an Apprenticeable Trade --->
    <!--- Query The Database to find all Grade 11 Females Who
    Are Taking an Apprenticeable Trade --->
    <cfquery name="GetGrade11Females"
    datasource="MyDataSource">
    Select SchoolBoardID, StudentTraineeGender,
    StudentTraineeGrade, SchoolYear, TradeCode, TeacherWEAApproval From
    WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And StudentTraineeGender = 'Female'
    And StudentTraineeGrade = '11'
    And TradeCode <> '0000'
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfGrade11Females =
    #GetGrade11Females.RecordCount#>
    <!--- End Of The Query to find all Grade 11 Females Who
    Are Taking an Apprenticeable Trade --->
    <!--- Query The Database to find all Grade 12 Females Who
    Are Taking an Apprenticeable Trade --->
    <cfquery name="GetGrade12Females"
    datasource="MyDataSource">
    Select SchoolBoardID, StudentTraineeGender,
    StudentTraineeGrade, SchoolYear, TradeCode, TeacherWEAApproval From
    WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And StudentTraineeGender = 'Female'
    And StudentTraineeGrade = '12' Or StudentTraineeGrade =
    '12+'
    And TradeCode <> '0000'
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfGrade12Females =
    #GetGrade12Females.RecordCount#>
    <!--- End Of The Query to find all Grade 12 Females Who
    Are Taking an Apprenticeable Trade --->
    <!--- Query To Find The Total Number Of Male Students
    Registered As Apprentices --->
    <cfquery name="GetMaleRegisteredApprentices"
    datasource="MyDataSource">
    <!--- End Of Query To Find The Total Number Of Male
    Students Registered As Apprentices --->
    Select SchoolBoardID, SchoolYear, StudentTraineeGender,
    TradeCode, RequestForMTCUByTeacher, ApprovedForMTCUByOYAP,
    TeacherWEAApproval From WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And TradeCode <> '0000'
    And StudentTraineeGender = 'Male'
    And RequestForMTCUByTeacher = 1
    And ApprovedForMTCUByOYAP = 1
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfMaleRegisteredApprentices =
    #GetMaleRegisteredApprentices.RecordCount#>
    <!--- Query To Find The Total Number Of Female Students
    Registered As Apprentices --->
    <cfquery name="GetFemaleRegisteredApprentices"
    datasource="MyDataSource">
    <!--- End Of Query To Find The Total Number Of Female
    Students Registered As Apprentices --->
    Select SchoolBoardID, SchoolYear, StudentTraineeGender,
    TradeCode, RequestForMTCUByTeacher, ApprovedForMTCUByOYAP,
    TeacherWEAApproval From WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And TradeCode <> '0000'
    And StudentTraineeGender = 'Female'
    And RequestForMTCUByTeacher = 1
    And ApprovedForMTCUByOYAP = 1
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfFemaleRegisteredApprentices =
    #GetFemaleRegisteredApprentices.RecordCount#>
    <!--- Query To Find The Total Number Of Male Students
    Registered As Apprentices Graduated--->
    <cfquery name="GetMaleRegisteredApprenticesGraduated"
    datasource="MyDataSource">
    <!--- End Of Query To Find The Total Number Of Male
    Students Registered As Apprentices --->
    Select SchoolBoardID, SchoolYear, StudentTraineeGender,
    TradeCode, RequestForMTCUByTeacher, ApprovedForMTCUByOYAP,
    Graduated, TeacherWEAApproval From WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And TradeCode <> '0000'
    And StudentTraineeGender = 'Male'
    And RequestForMTCUByTeacher = 1
    And ApprovedForMTCUByOYAP = 1
    And Graduated = 1
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfMaleRegisteredApprenticesGraduated =
    #GetMaleRegisteredApprenticesGraduated.RecordCount#>
    <!--- Query To Find The Total Number Of Female Students
    Registered As Apprentices Graduated--->
    <cfquery name="GetFemaleRegisteredApprenticesGraduated"
    datasource="MyDataSource">
    <!--- End Of Query To Find The Total Number Of Male
    Students Registered As Apprentices --->
    Select SchoolBoardID, SchoolYear, StudentTraineeGender,
    TradeCode, RequestForMTCUByTeacher, ApprovedForMTCUByOYAP,
    Graduated, TeacherWEAApproval From WEA_Registrants
    Where SchoolBoardID = #Session.Auth.SchoolBoardID# And
    SchoolYear = '#Form.SchoolYear#'
    And TradeCode <> '0000'
    And StudentTraineeGender = 'Female'
    And RequestForMTCUByTeacher = 1
    And ApprovedForMTCUByOYAP = 1
    And Graduated = 1
    And TeacherWEAApproval = 1
    </cfquery>
    <cfset NumberOfFemaleRegisteredApprenticesGraduated =
    #GetFemaleRegisteredApprenticesGraduated.RecordCount#>
    Thank you for any assistance that you can lend me with
    resolving my query issues:
    Regards,
    Chizzy
    Cornwall, Ontario, Canada

    Hello:
    SchoolBoardID is unique in that there is only 1 record in the
    WEA_Registrants table containing it; however, it was my intention
    with my queries to have the potential for more that one query to
    have a positive recordcount. (i.e. It would be possible for
    #GetGrade11Males.RecordCount# and
    #NumberOfMaleRegisteredApprentices# and
    #NumberOfMaleRegisteredApprenticesGraduated# to all return positve
    record counts.
    quote:
    Sounds like there may be more to this issue than you are
    leading us to believe.
    To the best of my knowledge, I have presented
    all of the relevant information.
    I will look into the documentation on cfqueryparam.
    Thanks for your assistance.
    Regards,
    Chizzy

  • Addition of Key Figures in Query Produces incorrect Results

    Hi,
    I have a query with a globally defined structure of Restricted Key Figures. These are mainly G/L Account Balances from R/3.
    When I create a global Calculated Key Figure the sum is incorrect (ie does not match R/3) despite the fact that the individual restricted key figures match perfectly.
    The only inconsistency is one or 2 of the RKF's are + ve in R/3 but - ve in BW.
    Would really appreciate some help on this.
    Thanks a lot.

    Hi All,
    Thanks for your replies.
    Paul B - I tried your recommendation and it did not work. I only set the result to summation nothing else.
    Bjorn - I tried what you said but that didnt work either.
    Venkat - I thought about this but I have about 30 + Calculated Key Figs and over 100 Restricted Kfs and a fair amount have -ve signs. Do I have to do this for all ?
    Regards

  • Analytical query producing different result on joins

    Hi,
    The queries below should have the same output but the first one just does a left join instead of a full join. Can you please help me figure out why ?
    SELECT source_aa, source_bb, COUNT (*)
    FROM (SELECT *
    FROM (SELECT a_a.application_id,
    'In_APPLICATION' AS source_aa,
    RANK () OVER (PARTITION BY application_id ORDER BY date DESC) AS rank_aa
    FROM application a_a)
    WHERE rank_aa = 1) aa
    FULL JOIN
    (SELECT *
    FROM (SELECT b_b.application_id,
    'In_APPLICATION_ARCHV' AS source_bb,
    RANK () OVER (PARTITION BY application_id ORDER BY date DESC) AS rank_bb
    FROM application_archv b_b)
    WHERE rank_bb = 1) bb
    ON aa.application_id = bb.application_id
    GROUP BY source_aa, source_bb;
    SELECT source_aa, source_bb, COUNT (*)
    FROM (SELECT DISTINCT application_id,'In_APPLICATION' AS source_aa
    FROM application) aa
    FULL JOIN
    (SELECT DISTINCT application_id,'In_APPLICATION_ARCHV' AS source_bb
    FROM application_archv) bb
    ON aa.application_id = bb.application_id
    GROUP BY source_aa, source_bb;
    -----

    Both your query does a FULL JOIN. But in the first query you have extra filter condition. You are geting only the latest application_id. Check this
    <pre>
    SELECT *
    FROM (
    SELECT b_b.application_id
    , 'In_APPLICATION_ARCHV' AS source_bb
    <font color=red>
    , RANK () OVER (PARTITION BY application_id ORDER BY date DESC) AS rank_bb
    </font>
    FROM application_archv b_b
    <font color=red>
    WHERE rank_bb = 1
    </font>
    </pre>
    The the code in red is the once thats causing the difference in output.

  • LIMIT IN QUERY TO LIMIT RESULTS

    I was reading the article here:
    http://www.inquiry.com/techtips/oracle_pro/10min/10min1200/10min1200-3.asp
    I am working from an oracle 8i database with a few thousand records in it.
    Can you help me out here? I tried the example method, and it appears to me that it is only returning sets of data
    that are below the ROWNUM I request. For example, if I use .... WHERE ROWNUM<100 ... It looks like it only gets data from the first 100 rows of the table instead of a count of the query's result row numbers.
    When I put a very loose term into the search, it should return the max, 100 lines, but only returns 87. I know one query produces 156 results, but this limit cuts off at 60.
    I really would like to be able to show 30 results per page and have users click 'next page' to view the next 30. It seems absurd to me that with Postgress, or MySQL I can do this very easily with ... LIMIT 100,30 .... Oracle DB does not have the capability? I don't know.
    Please, if you know you can help. (PLEASE!)

    Perhaps a less offensive way to put it might have been simply to ask, "does anyone know how to do this in Oracle as I am relatively inexperienced in this environment" instead of "It seems absurd to me that with Postgress, or MySQL I can do this very easily with ... LIMIT 100,30 .... Oracle DB does not have the capability?". The implication is clearly that these other environments are superior, which is offensive, especially when avowed by someone who has demonstrated his limited knowledge of Oracle.

  • Unable to create report. Query produced too many results

    Hi All,
    Does someone knows how to avoid the message "Unable to create report. Query produced too many results" in Grid Report Type in PerformancePoint 2010. When the mdx query returns large amount of data, this message appears. Is there a way to get all
    the large amount in the grid anyway?
    I have set the data Source query time-out under Central Administration - Manager Service applications - PerformancePoint Service Application - PerformancePoint Service Application Settings at 3600 seconds.
    Here Event Viewer log error at the server:
    1. An exception occurred while running a report.  The following details may help you to diagnose the problem:
    Error Message: Unable to create report. Query produced too many results.
            <br>
            <br>
            Contact the administrator for more details.
    Dashboard Name:
    Dashboard Item name:
    Report Location: {3592a959-7c50-0d1d-9185-361d2bd5428b}
    Request Duration: 6,220.93 ms
    User: INTRANET\spsdshadmin
    Parameters:
    Exception Message: Unable to create report. Query produced too many results.
    Inner Exception Message:
    Stack Trace:    at Microsoft.PerformancePoint.Scorecards.Server.PmServer.ExecuteAnalyticReportWithParameters(RepositoryLocation analyticReportViewLocation, BIDataContainer biDataContainer)
       at Microsoft.PerformancePoint.Analytics.ServerRendering.OLAPBase.OlapViewBaseControl.ExtractReportViewData()
       at Microsoft.PerformancePoint.Analytics.ServerRendering.OLAPBase.OlapViewBaseControl.CreateRenderedView(StringBuilder sd)
       at Microsoft.PerformancePoint.Scorecards.ServerRendering.NavigableControl.RenderControl(HtmlTextWriter writer)
    PerformancePoint Services error code 20604.
    2. Unable to create report. Query produced too many results.
    Microsoft.PerformancePoint.Scorecards.BpmException: Unable to create report. Query produced too many results.
       at Microsoft.PerformancePoint.Scorecards.Server.Analytics.AnalyticQueryManager.ExecuteReport(AnalyticReportState reportState, DataSource dataSource)
       at Microsoft.PerformancePoint.Scorecards.Server.PmServer.ExecuteAnalyticReportBase(RepositoryLocation analyticReportViewLocation, BIDataContainer biDataContainer, String formattingDimensionName)
       at Microsoft.PerformancePoint.Scorecards.Server.PmServer.ExecuteAnalyticReportWithParameters(RepositoryLocation analyticReportViewLocation, BIDataContainer biDataContainer)
    PerformancePoint Services error code 20605.
    Thanks in advance for your help.

    Hello,
    I would like you to try the following to adjust your readerquotas.
    Change the values of the parameters listed below to a larger value. We recommend that you double the value and then run the query to check whether the issue is resolved. To do this, follow these steps:
    On the SharePoint 2010 server, open the Web.config file. The file is located in the following folder:
    \Program Files\Microsoft Office Servers\14.0\Web Services\PpsMonitoringServer\
    Locate and change the the below values from 8192 to 16384.
    Open the Client.config file. The file is located in the following folder:
    \Program Files\Microsoft Office Servers\14.0\WebClients\PpsMonitoringServer\
    Locate and change the below values from 8192 to 16384.
    After you have made the changes, restart Internet Information Services (IIS) on the SharePoint 2010 server.
    <readerQuotas
    maxStringContentLength="2147483647"
    maxNameTableCharCount="2147483647"
    maxBytesPerRead="2147483647"
    maxArrayLength="2147483647"
                  maxDepth="2147483647"
    />
    Thanks
    Heidi Tr - MSFT
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

  • Query that only returns items that will produce a result

    Thanks to Mack for his help yesterday.  I would really appreciate some help from anyone who is more SQL competent than I am.  I have an SQL problem that is just completely over my head.  I've created a nifty tagging system for the blog, that sorts by tags and by multiple tags, check out the beta here: http://committedsardine.com/blog.cfm
    When a user selects a tag, it adds it to the value list SESSION.blogTags.  If the selected tag is there already, it removes it.  When the list for tags pops up, I output all the tags, and show their state.  You'll see what I mean if you try it.
    What this leads to is the ability to select a group of tags for which there are no query results.  What I want to do is only show those that will generate results and how many results they'll show.  Like this, select "fluency" by itself there are 310 entries
    fluency (310) | digital (234) | writing (12)
    Once fluency is selected, there are 13 articles that ALSO are tagged by "digital", but none that are tagged by writing:
    fluency | digital (12) | writing
    I have a table called blogTagLinks, that is just for tying a tag to a blog.  It lists a blogID and a tagID.  Here is a sample of it for reference:
    blogTagLinkID
    blogID
    tagID
    4
    2
    2
    5
    2
    3
    6
    2
    5
    39
    1
    18
    49
    1
    1
    42
    1
    9
    44
    1
    19
    47
    5
    14
    48
    1
    22
    54
    16
    22
    I'm including all my sql, but the spot that I need help with is marked in red below:
    <!---if URL.tg is defined, check to see if it exists in the database, then the SESSION, and either add or delete it from SESSION--->
    <cfquery name="rsAllTags" datasource="">
    SELECT tagsID, tagName
            FROM tags
            WHERE tagActive = 'y'
    </cfquery>
    <cfset allTags = ValueList(rsAllTags.tagsID)>
    <cfif isDefined("URL.blogTags")>
        <cfif ListFind(allTags, URL.blogTags) NEQ 0>
            <cfif ListFind(SESSION.blogTags, URL.blogTags) NEQ 0>
                <cfset SESSION.blogTags = ListDeleteAt(SESSION.blogTags, ListFind(SESSION.blogTags, URL.blogTags))>
                <cfelse>
                <cfset SESSION.blogTags = ListAppend(SESSION.blogTags, URL.blogTags)>
            </cfif>
        </cfif>
    </cfif>
    <!---get a list of all available tags, tags that if added to the already selected tags, will return a result--->
    <cfquery name="rsAvailableTags" datasource="">
    SELECT tagsID, tagName
            FROM tags
            WHERE tagActive = 'y'
            NEED SOME STATEMENT HERE OF BLOGTAGLINKS TO DETERMINE WHAT TAGS WILL PRODUCE A RESULT
    </cfquery>
    <!---if searching by tags, get a list of the currently selected tags for display, the 0 returns an empty result if there are no tags--->
    <cfif isDefined("SESSION.sb") AND SESSION.sb EQ "tg">
        <cfquery name="rsTags" datasource="">
            SELECT tags.tagName, tagsID
            FROM tags
            WHERE tagsID <cfif SESSION.blogTags NEQ "">IN(#SESSION.blogTags#)
            <cfelse> = 0</cfif>
        </cfquery>
        <cfset variables.newrow = false>
    </cfif>
    <!---get the information for the blogs list, filtered by keyword or tag if requested--->
    <cfquery name="rsBlog" datasource="">
        SELECT blog.blogID,
            blog.storyID,
            blog.blogDate,
            blogStories.storyID,
            blogStories.blogTitle,
            SUBSTRING(blogStories.blogBody,1,200) AS blogBody,
            images.imageName
        FROM blog, blogStories, images
        WHERE blog.storyID = blogStories.storyID AND images.imageID = blog.photoID AND blog.blogDate < "#todayDate#" AND blog.deleted = 'n'
    <cfif SESSION.sb EQ "kw">AND  CONCAT(blogStories.blogBody, blogStories.blogTitle) LIKE '%#SESSION.blogKeywords#%'</cfif>
        <cfif SESSION.sb EQ "tg" AND SESSION.blogTags NEQ "">
                AND  blog.blogID IN (
                SELECT blogID
                FROM blogTagLink
                <cfif SESSION.blogTags NEQ "">
                    WHERE tagID IN(<cfqueryparam cfsqltype="cf_sql_integer" value="#SESSION.blogTags#" list="true">)
                    GROUP BY blogID
                    HAVING count(tagID) = #ListLen( SESSION.blogTags )#)
                </cfif>
         </cfif>
    ORDER BY blog.blogDate DESC
    </cfquery>

    There might be a single query solution but here's a query that you
    will need to run for each tag in the database (cfloop over all the
    tags) and will give you the number of blogs that have the selected
    tags + the current tag
    SELECT Count(*) AS blog_count
    FROM (
        SELECT blogID
        FROM blogTagLink
        WHERE tagID IN(<cfqueryparam cfsqltype="cf_sql_integer"
    value="#SESSION.blogTags#" list="true">)
             OR tagID = #currentTagID#
        GROUP BY blogID
        HAVING count(tagID) = #ListLen( SESSION.blogTags )#
             OR count(tagID) = #ListLen( SESSION.blogTags )# + 1
        ) AS blogs
    Mack

  • Spatial Queries Not Always Producing Accurate Results

    Hi,
    Spatial queries are not always producing accurate results. Here are the issues. We would appreciate any clarification you could provide to resolve these issues.
    1. When querying for points inside a polygon that is not an MBR (minimum bounded rectangle), some of the coordinates returned are not inside the polygon. It is as though the primary filter is working, but not the secondary filter when using sdo_relate. How can we validate that the spatial query using sdo_relate is using the secondary filter?
    2. SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT returns true when validating geometries even though we find results that are invalid.
    3. Illegal geodetic coordinates can be inserted into a table: latitude > 90.0, latitude < -90.0, longitude > 180.0 or longitude < -180.0.
    4. Querying for coordinates outside the MBR for the world where illegal coordinates existed did NOT return any rows, yet there were coordinates of long, lat: 181,91.
    The following are examples and information relating to the above-referenced points.
    select * from USER_SDO_GEOM_METADATA
    TABLE_NAME      COLUMN_NAME      DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE)      SRID
    LASTKNOWNPOSITIONS      THE_GEOM SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .05), SDO_DIM_ELEMENT('Y', -90, 90, .05))      8307
    POSITIONS     THE_GEOM SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .05), SDO_DIM_ELEMENT('Y', -90, 90, .05))      8307
    Example 1: Query for coordinates inside NON-rectangular polygon includes points outside of polygon.
    SELECT l.vesselid, l.latitude, l.longitude, TO_CHAR(l.observationtime,
    'YYYY-MM-DD HH24:MI:SS') as obstime FROM lastknownpositions l where
    SDO_RELATE(l.the_geom,SDO_GEOMETRY(2003, 8307, NULL,
    SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    SDO_ORDINATE_ARRAY(-98.20268,18.05079,-57.30101,18.00705,-57.08229,
    54.66061,-98.59638,32.87842,-98.20268,18.05079)),'mask=inside')='TRUE'
    This query returns the following coordinates that are outside of the polygon:
    vesselid : 1152 obstime : 2005-08-24 06:00:00 long : -82.1 lat : 45.3
    vesselid : 3140 obstime : 2005-08-28 12:00:00 long : -80.6 lat : 44.6
    vesselid : 1253 obstime : 2005-08-22 09:00:00 long : -80.0 lat : 45.3
    Example 2a: Using SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT
    Select areaid, the_geom,
    SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(the_geom, 0.005) from area where
    areaid=24
    ResultSet:
    AREAID THE_GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO,
    SDO_ORDINATES) SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(THE_GEOM,0.005)
    24 SDO_GEOMETRY(2003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(-98.20268, 18.05079, -57.30101, 18.00705, -57.08229, 54.66061, -98.59638, 32.87842, -98.20268, 18.05079)) TRUE
    Example 2b: Using SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT
    Select positionid, vesselid, the_geom,
    SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(the_geom, 0.005) from positions where vesselid=1152
    ResultSet:
    POSITIONID VESSELID THE_GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z),
    SDO_ELEM_INFO, SDO_ORDINATES) DO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(THE_GEOM,0.005)
    743811 1152 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-82.1, 45.3, NULL), NULL, NULL) TRUE
    743812 1152 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-82.1, 45.3, NULL), NULL, NULL) TRUE
    743813 1152 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-80.2, 42.5, NULL), NULL, NULL) TRUE
    743814 1152 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-80.2, 42.5, NULL), NULL, NULL) TRUE
    Example 3: Invalid Coordinate values found in POSITIONS table.
    SELECT p.positionid, p.latitude, p.longitude, p.the_geom FROM positions p
    WHERE p.latitude < -180.0
    2 lines from ResultSet:
    POSITIONID LATITUDE LONGITUDE THE_GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
    714915 -210.85408 -79.74449 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-79.74449, -210.85408, NULL), NULL, NULL)
    714938 -211.13632 -79.951256 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-79.951256, -211.13632, NULL), NULL, NULL)
    SELECT p.positionid, p.latitude, p.longitude, p.the_geom FROM positions p
    WHERE p.longitude > 180.0
    3 lines from ResultSet:
    POSITIONID LATITUDE LONGITUDE THE_GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
    588434 91 181 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(181, 91, NULL), NULL, NULL)
    589493 91 181 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(181, 91, NULL), NULL, NULL)
    589494 91 181 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(181, 91, NULL), NULL, NULL)
    Example 4: Failure to locate illegal coordinates by querying for disjoint coordinates outside of MBR for the world:
    SELECT p.vesselid, p.latitude, p.longitude, p.the_geom,
    TO_CHAR(p.observationtime, 'YYYY-MM-DD HH24:MI:SS') as obstime,
    SDO_GEOM.RELATE(p.the_geom, 'determine',
    SDO_GEOMETRY(2003, 8307, NULL,SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    SDO_ORDINATE_ARRAY(-180.0,-90.0,180.0,-90.0,180.0,90.0,
    -180.0,90.0,-180.0,-90.0)), .005) relationship FROM positions p where
    SDO_GEOM.RELATE(p.the_geom, 'disjoint', SDO_GEOMETRY(2003, 8307,
    NULL,SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    SDO_ORDINATE_ARRAY(-180.0,-90.0,180.0,-90.0,180.0,90.0,-80.0,90.0,
    -180.0,-90.0)),.005)='TRUE'
    no rows selected
    Carol Saah

    Hi Carol,
    1) I think the results are correct. Note in a geodetic coordinate system adjacent points in a linestring or polygon are connected via geodesics. You are probably applying planar thinking to an ellipsoidal problem! I don't have time to do the full analysis right now, but a first guess is that is what is happening.
    2) The query window seems to be valid. I don't think this is a problem.
    3) Oracle will let you insert most anything into a table. In the index, it probably wraps. If you validate, I think the validation routines will tell you is is illegal if you use the signature with diminfo, where the coordinate system bounds are included in the validation.
    4) Your query window is not valid. Your data is not valid. As the previous reply stated, you need to have valid data. If you think in terms of a geodetic coordinate system, you will realize that -180.0,-90.0 and 180.0,-90.0 are really the same point. Also, Oracle has a rule that polygon geometries cannot be greater than half the surface of the Earth.
    Hope this helps.

  • Filter expression producing different results after upgrade to 11.1.1.7

    Hello,
    We recently did an upgrade and noticed that on a number of reports where we're using the FILTER expression that the numbers are very inflated. Where we are not using the FILTER expression the numbers are as expected. In the example below we ran the 'Bookings' report in 10g and came up with one number and ran the same report in 11g (11.1.1.7.0) after the upgrade and got two different results. The data source is the same database for each envrionment. Also, in running the physical SQL generated by the 10g and 11g version of the report we get different the inflated numbers from the 11g SQL. Any ideas on what might be happening or causing the issue?
    10g report: 2016-Q3......Bookings..........72,017
    11g report: 2016-Q3......Bookings..........239,659
    This is the simple FILTER expression that is being used in the column formula on the report itself for this particular scenario which produces different results in 10g and 11g.
    FILTER("Fact - Opportunities"."Won Opportunity Amount" USING ("Opportunity Attributes"."Business Type" = 'New Business'))
    -------------- Physical SQL created by 10g report -------- results as expected --------------------------------------------
    WITH
    SAWITH0 AS (select sum(case when T33142.OPPORTUNITY_STATUS = 'Won-closed' then T33231.USD_LINE_AMOUNT else 0 end ) as c1,
    T28761.QUARTER_YEAR_NAME as c2,
    T28761.QUARTER_RANK as c3
    from
    XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ,
    XXFI.XXFI_OSM_OPPTY_HEADER_ACCUM T33142 /* Fact_Opportunity_Headers(CloseDate) */ ,
    XXFI.XXFI_OSM_OPPTY_LINE_ACCUM T33231 /* Fact_Opportunity_Lines(CloseDate) */
    where ( T28761.PERIOD_NAME = T33142.CLOSE_PERIOD_NAME and T28761.QUARTER_YEAR_NAME = '2012-Q3' and T33142.LEAD_ID = T33231.LEAD_ID and T33231.LINES_BUSINESS_TYPE = 'New Business' and T33142.OPPORTUNITY_STATUS <> 'Duplicate' )
    group by T28761.QUARTER_YEAR_NAME, T28761.QUARTER_RANK)
    select distinct SAWITH0.c2 as c1,
    'Bookings10g' as c2,
    SAWITH0.c1 as c3,
    SAWITH0.c3 as c5,
    SAWITH0.c1 as c7
    from
    SAWITH0
    order by c1, c5
    -------------- Physical SQL created by the same report as above but in 11g (11.1.1.7.0) -------- results much higher --------------------------------------------
    WITH
    SAWITH0 AS (select sum(case when T33142.OPPORTUNITY_STATUS = 'Won-closed' then T33142.TOTAL_OPPORTUNITY_AMOUNT_USD else 0 end ) as c1,
    T28761.QUARTER_YEAR_NAME as c2,
    T28761.QUARTER_RANK as c3
    from
    XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ,
    XXFI.XXFI_OSM_OPPTY_HEADER_ACCUM T33142 /* Fact_Opportunity_Headers(CloseDate) */ ,
    XXFI.XXFI_OSM_OPPTY_LINE_ACCUM T33231 /* Fact_Opportunity_Lines(CloseDate) */
    where ( T28761.PERIOD_NAME = T33142.CLOSE_PERIOD_NAME and T28761.QUARTER_YEAR_NAME = '2012-Q3' and T33142.LEAD_ID = T33231.LEAD_ID and T33231.LINES_BUSINESS_TYPE = 'New Business' and T33142.OPPORTUNITY_STATUS <> 'Duplicate' )
    group by T28761.QUARTER_YEAR_NAME, T28761.QUARTER_RANK),
    SAWITH1 AS (select distinct 0 as c1,
    D1.c2 as c2,
    'Bookings2' as c3,
    D1.c3 as c4,
    D1.c1 as c5
    from
    SAWITH0 D1),
    SAWITH2 AS (select D1.c1 as c1,
    D1.c2 as c2,
    D1.c3 as c3,
    D1.c4 as c4,
    D1.c5 as c5,
    sum(D1.c5) as c6
    from
    SAWITH1 D1
    group by D1.c1, D1.c2, D1.c3, D1.c4, D1.c5)
    select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4, D1.c5 as c5, D1.c6 as c6 from ( select D1.c1 as c1,
    D1.c2 as c2,
    D1.c3 as c3,
    D1.c4 as c4,
    D1.c5 as c5,
    sum(D1.c6) over () as c6
    from
    SAWITH2 D1
    order by c1, c4, c3 ) D1 where rownum <= 2000001
    Thank you,
    Mike
    Edited by: Mike Jelen on Jun 7, 2013 2:05 PM

    Thank you for the info. They are definitely different values since ones on the header and the other is on the lines. As the "Won Opportunity" logical column is mapped to multiple LTS it appears the OBI 11 uses a different alogorthim to determine the most efficient table to use in the query generation vs 10g. I'll need to spend some time researching the impact to adding a 'sort' to the LTS. I'm hoping that there's a way to get OBI to use similar logic relative to 10g in how it generated the table priority.
    Thx again,
    Mike

  • Same Query returning different result (Different execution plan)

    Hi all,
    To day i have discovered a strange thing: a query that return a different result when using a different execution plan.
    The query :
    SELECT  *
      FROM schema.table@database a
    WHERE     column1 IN ('3')
           AND column2 = '101'
           AND EXISTS
                  (SELECT null
                     FROM schema.table2 c
                    WHERE a.column3 = SUBSTR (c.column1, 2, 12));where schema.table@database is a remote table.
    when executed with the hint /*+ ordered use_nl(a c) */ these query return no result and its execution plan is :
    Rows     Row Source Operation
          0  NESTED LOOPS  (cr=31 r=0 w=0 time=4894659 us)
       4323   SORT UNIQUE (cr=31 r=0 w=0 time=50835 us)
       4336    TABLE ACCESS FULL TABLE2 (cr=31 r=0 w=0 time=7607 us)
          0   REMOTE  (cr=0 r=0 w=0 time=130536 us)When i changed the execution plan with the hint /*+ use_hash(c a) */
    Rows     Row Source Operation
       3702  HASH JOIN SEMI (cr=35 r=0 w=0 time=497839 us)
      22556   REMOTE  (cr=0 r=0 w=0 time=401176 us)
       4336   TABLE ACCESS FULL TABLE2 (cr=35 r=0 w=0 time=7709 us)It seem that when the execution plan have changed the remote query return no result.
    It'is a bug or i have missed somthing ?
    PS: The two table are no subject to insert or update statement.
    Oracle version : 9.2.0.2.0
    System version : HP-UX v1
    Thanks.

    H.Mahmoud wrote:
    Oracle version : 9.2.0.2.0
    System version : HP-UX v1Hard to say. You're using a very old and deprecated version of the database, and one that was known to contain bugs.
    9.2.0.7 was really the lowest version of 9i that was considered to be 'stable', but even so, it's old and lacking in many ways.
    Consider upgrading to the latest database version at your earliest opportunity. (or at least apply patches up to the latest 9i version before querying if there is bugs in your really low buggy version)

  • Old outer join syntax produces different results from new syntax!

    I have inherited a query that uses the old outer join syntax but that is yielding correct results. When I translate it to the new outer join syntax, I get the results I expect, but they are not correct! And I don't understand why the old syntax produces the results it produces. Bottom line: I want the results I'm getting from the old syntax, but I need it in the new syntax (I'm putting it into Reporting Services, and RS automatically converts old syntax to new).
    Here's the query with the old outer join syntax that is working correctly:
    Code Snippet
    SELECT   TE = COUNT(DISTINCT T1.ID),
             UE = COUNT(DISTINCT T2.ID),
             PE = CONVERT(MONEY, COUNT(DISTINCT T2.ID)) / 
                  CONVERT(MONEY,COUNT(DISTINCT T1.ID))
    FROM     TABLE T1, TABLE T2
    WHERE    T1 *= T2
    In this query, much to my surprise, TE <> UE and PE <> 1. However, TE, UE, and PE seem to be accurate!
    Here's the query with the new outer join syntax that is working but not producing the results I need:
    Code Snippet
    SELECT   TE = COUNT(DISTINCT T1.ID),
             UE = COUNT(DISTINCT T2.ID),
             PE = CONVERT(MONEY, COUNT(DISTINCT T2.ID)) / 
                  CONVERT(MONEY,COUNT(DISTINCT T1.ID))
    FROM     TABLE T1 LEFT OUTER JOIN TABLE T2 ON T1.ID = T2.ID
    Though not producing the results I need, it is producing what would be expected: TE = UE and PE = 1.
    My questions:
    1) Can someone who is familiar enough with the old syntax please help me understand why TE <> UE and PE <> 1 in the first query?
    2) Can someone please tell me how to properly translate the first query to the new syntax so that it continues to produce the results in the first query?
    Thank you very much.

    How can we reproduce the issue?
    Code Snippet
    USE [master]
    GO
    EXEC sp_dbcmptlevel Northwind, 80
    GO
    USE [Northwind]
    GO
    SELECT
    TE
    = COUNT(DISTINCT T1.OrderID),
    UE = COUNT(DISTINCT T2.OrderID),
    PE = CONVERT(MONEY, COUNT(DISTINCT T2.OrderID)) /
    CONVERT(MONEY,COUNT(DISTINCT T1.OrderID))
    FROM
    dbo
    .Orders T1, dbo.Orders T2
    WHERE
    T1
    .OrderID *= T2.OrderID
    SELECT
    TE
    = COUNT(DISTINCT T1.OrderID),
    UE = COUNT(DISTINCT T2.OrderID),
    PE = CONVERT(MONEY, COUNT(DISTINCT T2.OrderID)) /
    CONVERT(MONEY,COUNT(DISTINCT T1.OrderID))
    FROM
    dbo
    .Orders T1
    LEFT OUTER JOIN
    dbo.Orders T2
    ON T1.OrderID = T2.OrderID
    GO
    EXEC sp_dbcmptlevel Northwind, 90
    GO
    Result:
    TE
    UE
    PE
    830
    830
    1.00
    TE
    UE
    PE
    830
    830
    1.00
    As you can see, I am getting same results.
    AMB

  • SUM function to give NULL result

    I am really lost on how I can force the SUM function to give me a NULL result when at least one of the elements is a NULL value. I would appreciate any help.

    The short answer is "you can't". The slightly longer answer is the you can't because most aggregate functions work only on non-null values, so SUM silently ignores NULLS.
    However, you can take advantage of that fact to do what you want.
    SQL> SELECT * FROM t;
            ID GROUPCOL
            33 GROUPA
            50 GROUPA
             5 GROUPA
            21 GROUPA
            43 GROUPA
            58 GROUPB
            10 GROUPB
            29 GROUPB
            10 GROUPB
            37 GROUPB
               GROUPA
    SQL> SELECT groupcol, SUM(id) sum_id, COUNT(*) count_all,
      2               COUNT(id) count_id
      3        FROM t
      4        GROUP BY groupcol;
    GROUPCOL       SUM_ID  COUNT_ALL   COUNT_ID
    GROUPA            152          6          5
    GROUPB            144          5          5Note that count_all is different than count_id. So, we can wrap this query in another to return NULL for the sum of groupa.
    SQL> SELECT groupcol, CASE WHEN count_all = count_id THEN sum_id
      2                        ELSE NULL END sum_id
      3  FROM (SELECT groupcol, SUM(id) sum_id, COUNT(*) count_all,
      4               COUNT(id) count_id
      5        FROM t
      6        GROUP BY groupcol);
    GROUPCOL       SUM_ID
    GROUPA
    GROUPB            144Although, I too would be interested in the answer to 405764's question.
    John

  • Non-local searches return "null" results

    I'm creating a Merged help output using AIR Browser Based Help. Said output currently has one major flaw: null search results when viewed over a network.
    Now, I have read through the thread on this forum about people who initially got a "null" search result when searching a local project, but with the search subsequently working, and indeed that behavior is what I was initially seeing. That is, on my local copy of the project, my first search would return "null," and then things would work normally. However, when other users accessed my local project over our network, they never got anything other than "null" results. (Quick aside for relevant information: output was from 64-bit RH9, testing is on FIrefox 13 and I.E. 9) If I move my local copy onto the network, I am no longer successful in searching.
    I have performed the suggested fix on the whfhost.js file, and while it fixed the problem locally-- I no longer see "null" results-- the problem persists for non-local access. Does anyone have any suggestions on how to fix this?
    Thanks!

    For the benefit of anyone else, this is the solution that was provided by Adobe.
    Open the generated output folder and open whfhost.js file in the notepad application. Search for the following strings in the file. you need to replace this function
    function Query()
      gbAIRSearchString  = goOdinHunter.strQuery;
    g_CurPage = 1;
    context = new HuginContext();
      context.reset();
    context.push( goOdinHunter.query, goOdinHunter,
      processHunterResult, null );
      context.resume();
    With this new function
    function isValidType(obj)
    return ( (typeof(obj)!='undefined')&&(obj!=null) );
    function Query()
      gbAIRSearchString  = goOdinHunter.strQuery;
    g_CurPage = 1;
    if (isValidType(context) && isValidType(context.aTasks))
      while(context.aTasks.length>0)
      context.resume();
    context = new HuginContext();
      context.reset();
    context.push( goOdinHunter.query, goOdinHunter,
      processHunterResult, null );
      context.resume();
    And try running the output and see if you stilll face the null search result problem
    If this problem is fixed, then you can go to the C:\Program Files\Adobe\Adobe RoboHelp 8\RoboHTML\WebHelp5Ext\template_stock folder location, and make the similar changes in the whfhost.js file located in this folder.
    It has worked for others so I would first check carefully that you have made the modification correctly.
    If you reverse the change, are you back to square one and get a null result first time?
    The modification was for RoboHelp 8 or 9. You haven't said what version you are using.
    Does it fail with all browsers?
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Query giving no result

    Dear Gurus,
    Pzl tell me why this query is not producing any result where as when it is done with table QALS thru SE11 result is coming
    DATA: BEGIN OF it_qals OCCURS 0,
            prueflos   LIKE qals-prueflos,
            nplnr      LIKE qals-nplnr,
            zaehl      LIKE qals-zaehl,
            enstehdat  LIKE qals-enstehdat,
          END OF it_qals.
      SELECT prueflos nplnr zaehl enstehdat
      INTO TABLE it_qals
      FROM qals
      WHERE nplnr EQ p_nplnr
      AND   zaehl = p_zaehl.
    Points will be reward to right ans.
    Regards
    Rajesh

    Hi Rajesh,
    SELECT prueflos nplnr zaehl enstehdat
    INTO TABLE it_qals
    FROM qals
    WHERE nplnr EQ p_nplnr
    AND zaehl = p_zaehl.
    in this qurey use <b>CORRESPONDING FIELDS</b>
    SELECT prueflos nplnr zaehl enstehdat
    INTO CORRESPONDING FIELDS OF TABLE  it_qals
    FROM qals
    WHERE nplnr EQ p_nplnr
    AND zaehl = p_zaehl.
    P_nplnr is a varible or taken form selection screen?
    if it is a varible then use
    CONVERSION_EXIT_ALPHA_INPUT
    CONVERSION_EXIT_ALPHA_OUPUT
    as per your requiement.
    <b>reward if useful</b>
    Regards,
    sunil kairam.

Maybe you are looking for