Unable to discover Why No Join Predicate

Please help me, I have this query:
select pc.Val, 
       PC2.Valstring as valstring, 
       pc.ValString as MessageType, 
       pc2.Val as Port
from dbo.tblproperty            p with(nolock)
inner join dbo.tblpropertycfg  pc with(nolock) ON p.pkPropertyID = pc.fkPropertyID 
inner join dbo.tblpropertycfg pc2 with(nolock) ON p.pkPropertyID = pc2.fkPropertyID
where p.pkPropertyID  = 5
      and pc.Concept  = 'PBX'      
      and pc2.Concept = 'PBXIP'
I am attaching the Excution Plan, this plan showing "No Join Predicate" Warning, I am unable to discover  where is the problem, please help.

Hi SathyanarrayananS:
Thank you for your support, when you say "are there any chance they are UDF or View" you mean if I could create and UDF or View with those tables?, because both tables are physical.
I am already readed the link and IMHO my query does not meets on any of examples provided.
As you can see, the first joins using the table, does not cause NJP, but when we apply the third join is when the NJP arise.
Do you need additional information about my schema?
Best regards. 

Similar Messages

  • No Join Predicate

    The Problem:
    I have two No Join Predicate warnings on a single execution plan and I am unable to find the root causes.  The warnings appear on two Nested
    Loops Showplan Operators.  The two inputs into one of the Nested Loops Showplan Operators are the following: a Clustered Index Seek Operator (on the table named
    NJP_TableA in the query listed at the bottom) and another Nested Loops Showplan Operator.  The two inputs into the other Nested Loops Showplan Operator are the following: a Clustered Index Scan Operator (on the
    table named NJP_TableB in the query listed at the bottom) and another Nested Loops Showplan Operator.  One input into that Nested Loops Showplan Operator is yet another Nested Loops Showplan Operator and so on.
    What I've tried:
    I've read the related topics links.
    Based on one article I read, I confirmed this isn't SQL-89 syntax that's prone to No Join Predicate warnings when one leaves out the predicate.  It appears to me that every JOIN in my
    query has a join predicate.
    Another article states that in some cases the "optimizer reorders an OUTER JOIN above an inner join when there is no direct or inferred join condition between the two tables in the resultant
    inner join...".  The fix is to apply the latest service pack for Microsoft SQL Server 2000.  I'm running my query against a SQL Server 2005 database.  Nonetheless, I added
    OPTION (FORCE ORDER) to my query and displayed the estimated execution plan.  I still have No Join Predicate warnings.
    I removed the WHERE clause which eliminated the No Join Predicate warnings, but I need the WHERE clause so this isn't so much a solution as it is a data point, although I'm not sure what conclusion,
    if any, to draw from this information.
    I rearranged the LEFT OUT JOINs, placing all of them at the
    top of the FROM clause.  I still have No Join Predicate warnings.
    I rearranged the LEFT OUT JOINs, placing all of them at the
    bottom of the FROM clause.  I still have No Join Predicate warnings.
    Finally, I extracted the code from the larger query that's specific to the
    NJP_TableA table as follows:
    SELECT
        FROM
    TableD
    AS
    TD
                LEFT
    OUTER
    JOIN NJP_TableA
    AS
    NJP_TA
                ON
    NJP_TA.Column1_NJP_TA
    =
    TD.Column2_TD
            AND
    NJP_TA.Column2_NJP_TA
    =
    'N'
                LEFT
    OUTER
    JOIN TableM
    AS
    TM
                ON
    NJP_TA.Column2_NJP_TA
    =
    TM.Column2_TM
    Then I displayed the estimated execution plan but there were no No Join Predicate warnings.  I thought there would be although if I understood
    why there weren't any, I suppose I'd be closer to solving this problem.
    Here's the query that displays two No Join Predicate warnings:
    Top of Form
    SELECT DISTINCT
                TB.Column1_TB,
                TB.Column2_TB,
                VA.Column4_VA,
                TB.Column3_TB,
                VA.Column1_VA,
                NJP_TB.Column1_NJP_TB,
                TC.Column1_TC,
                CONVERT(VARCHAR(10),
    TA.StartDate,
    120),
                CONVERT(VARCHAR(10),
    TA.EndDate,
    120),
                CONVERT(VARCHAR,
    TB.ResponseRequiredBy,
    120),
                TA.Column1_TA,
                TF.Column1_TF,
                TF.Column2_TF,
                TF.Column3_TF,
                TG.Column1_TG,
                TA.Column2_TA,
                TA.Column3_TA,
                TN.Column1_TN,
                TA.Column4_TA,
                VB.Column1_VB,
                TD.Column1_TD,
                TJ.Column1_TJ,
                TI.Column1_TI,
                TC.Column2_TC,
                TC.Column3_TC,
                TC.Column4_TC,
                TC.Column5_TC,
                TK.Column1_TK,
                TL.Column1_TL,
                TM.Column1_TM,
                TA.Column5_TA,
                TH.Column1_TH,
                VC.Column1_VC,
                VC.Column2_VC,
                TA.Column6_TA
        FROM
    TableA
    AS
    TA
                INNER JOIN
    NJP_TableB NJP_TB
                ON
    NJP_TB.Column2_NJP_TB
    =
    TA.Column7_TA
                INNER JOIN
    TableB
    AS
    TB
                ON
    TB.Column1_TB
    =
    TA.Column7_TA
                INNER JOIN
    ViewA
    AS VA
                ON
    VA.Column2_VA
    =
    TA.Column7_TA
                INNER JOIN
    TableC
    AS
    TC
                ON
    TC.Column2_TC
    =
    TA.Column8_TA
                INNER JOIN
    TableD
    AS
    TD
                ON
    TD.Column2_TD
    =
    TA.Column4_TA
                LEFT
    OUTER
    JOIN NJP_TableA
    AS
    NJP_TA
                ON
    NJP_TA.Column1_NJP_TA
    =
    TD.Column2_TD
            AND
    NJP_TA.Column2_NJP_TA
    =
    'N'
                INNER JOIN
    TableE TE
                ON
    TE.Column1_TE
    =
    TB.Column1_TB
                INNER JOIN
    TableF
    AS
    TF
                ON
    TE.Column2_TE
    =
    TF.Column1_TF
                INNER JOIN
    TableG
    AS
    TG
                ON
    TF.Column3_TF
    =  TG.Column2_TG
                INNER JOIN
    TableH TH
                ON
    TA.Column5_TA
    =
    TH.Column2_TH
                INNER JOIN
    ViewB VB
                ON  TA.Column4_TA
    =
    VB.Column2_VB
                INNER JOIN
    ViewC VC
                ON
    VA.Column3_VA
    =
    VC.Column1_VC
                LEFT
    OUTER
    JOIN TableI TI
                ON
    TI.Column2_TI
    =
    VB.Column3_VB
                LEFT
    OUTER
    JOIN TableJ TJ
                ON
    TJ.Column2_TJ
    =
    VB.Column4_VB
                LEFT
    OUTER
    JOIN TableK
    AS
    TK
                ON
    TA.Column9_TA
    =
    TK.Column2_TK
                LEFT
    OUTER
    JOIN TableL
    AS
    TL
                ON
    TA.Column10_TA
    =
    TL.Column2_TL
                LEFT
    OUTER
    JOIN TableM
    AS
    TM
                ON
    NJP_TA.Column2_NJP_TA
    =
    TM.Column2_TM
                INNER JOIN
    TableN TN
                ON
    TN.Column2_TN
    =
    TA.Column3_TA
        WHERE
    TA.Column7_TA
    =
    SomeBigIntValue
            AND
    VA.Column3_VA
    =
    'SomeVarChar10Value'
            AND
    VA.Column4_VA
    =
    'SomeChar1Value'
            AND
    TA.Column8_TA
    =
    'SomeVarChar10Value'
            AND
    TE.Column2_TE
    =
    'SomeVarChar18Value'
            AND
    TA.Column4_TA
    =
    'SomeVarChar10Value'
            AND
    TF.Column4_TF
    =
    'SomeVarChar1Value'  
    The solution:
    I discovered that one table was being joined to another table on a single column yet the primary key on the one table consists of three columns, not one column. 
    So, in effect, I wasn't literally missing a join predicate--after all, there is an ON search condition for every joined table in the FROM clause--it's that the join predicate was incomplete.  When I added the missing columns to the join predicate, the
    "No Join Predicate" warning disappeared from the query plan.  My key mistake was assuming all of the joined tables had single-column primary keys--after all, that's what was specified in the query.

    Chuck,
    I've displayed the estimated execution plans for the views and none of them contain "No Join Predicate" warnings.
    For what it's worth, I commented out the references to the views which forced me to comment out quite a bit of the other code as well and that eliminated one of the two warnings.  I'm not sure how to reconcile the this finding with the lack of "No Join
    Predicate" warnings in the execution plans for the views.

  • E72 unable to discover BH-216 headset?

    Greetings!
    I have just bought a Nokia E72 to replace my old Nokia 6120c. Now, the 6120c was a great phone, but lacking a full keyboard as well as WLAN and GPS made me go for the E72.
    Now, I have a strange problem: The E72 is unable to discover my BH-216 BT headset, that was previously paired to the 6120c, and works perfectly with the old phone.
    The E72 however is unable to even detect the BH-216, and I do not know why? I already deleted the pairing on my 6120c, but I don't think this has any effect? Do I need to do anything special to get this to work?
    I'm puzzled by this problem...
    Thanks!

    Dammit.
    Next time I should really read the freaking manual...
    Obviously, the BH-216 stores its pariring. Switch BH-216 off, then back on (hold on/off button for 6 seconds until green LED starts to flash rapidly) => Device open for discovery and new pairing.
    Haha.
    My fault.

  • OEM 12c unable ot discover Weblogic 10.0.1.0

    I have OEM 12c grid installed and Agent 12c running on the remote host. I have weblogic 10.0.1.0 installed in the remote host. The agent is unable to discover the domain. It is failing with below error...
    "Failed to discover WebLogic. Check host,port,credentials,protocol and be sure the server is running and the same farm is not already added. This UI can not be used to discover WebLogic version 7.x to 8.x. Exception: No targets discovered"
    I can login to the console appication with the ip:port and credentials.. but failing while trying to discover thru the Grid Control.
    I get below error in the OMS log...
    2012-06-25T05:52:09.376-04:00] [EMGC_OMS1] [ERROR:32] [] [oracle.sysman.emas.model.discovery.AddWLStep1Model] [tid: Thread-38498] [userId: SYSMAN] [ecid: 0000DUEGUt_ADSqlcKU4V_0005hD0004kK,1:32596] [APP: emgc] [URI: /em/faces/as/discovery/addWeblogicStep1] Disocvery failed[[
    java.lang.Exception: No targets discovered.
    at oracle.sysman.emInternalSDK.sdkas.general.pojo.model.discovery.FMWDiscoveryBase.discoverTargets(FMWDiscoveryBase.java:588)
    at oracle.sysman.emas.model.discovery.AddWLStep2Model.discoverTargets(AddWLStep2Model.java:1101)
    at oracle.sysman.emas.model.discovery.AddWLStep1Model.discover(AddWLStep1Model.java:464)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.sysman.emInternalSDK.sdkas.general.pojo.progress.WorkWrapper.run(WorkWrapper.java:113)
    at java.lang.Thread.run(Thread.java:662)
    I then created a empty doman on the same remote host for the same weblogic version. I was able to attch this one and not the other domain.
    I am ruling out OM Grid Server - Agent connectivity issues, since the new empty domain I created can communicate to server.
    I tried to check what is different between domains...
    The WLD that has the issue is a clustered Domain , and has:
    - 9 Managed Servers
    - Not SSL enabled
    - Many Application deployed
    - JDBC connections
    - has a custom build authentication provider for Authentication. But i made sure the user id is valid and even can login to the console.
    ** The new Domain is an empty one - no applications deployed.
    Can you please help understand why I am not able to attach the domain?

    Hi,
    It is the problem in prasing the DTD of config.xml file
    It look like this
    <?xml version='1.0' encoding='UTF-8'?>
    <domain xmlns="http://www.bea.com/ns/weblogic/920/domain" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
    instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90/security/xacml http://www.bea.com/
    ns/weblogic/90/security/xacml.xsd http://www.bea.com/ns/weblogic/90/security http://www.bea.com/ns/weblogic/90/security.xsd http://www.bea.com/ns/weblogic/92
    0/domain http://www.bea.com/ns/weblogic/920/domain.xsd http://www.bea.com/ns/weblogic/90/security/wls http://www.bea.com/ns/weblogic/90/security/wls.xsd">
    Please change your DTD to this lines and start the server.
    Regards
    Ravi D

  • CRS-10010: unable to discover DHCP server

    Hy
    I try to set up Grid Infrastructure using GNS. When running the root script
    I get a Problem with dhcp.
    Here an example of my problem:
    [root@oranode1 bin]#
    [root@oranode1 bin]# ./crsctl get clientid dhcp -cluname grid112 -viptype HOSTVIP -n oranode1
    CRS-10007: grid112-oranode1-vip
    [root@oranode1 bin]#
    [root@oranode1 bin]# ./crsctl discover dhcp -clientid grid112-oranode1-vip
    CRS-10010: unable to discover DHCP server in the network listening on port 67 for client ID grid112-oranode1-vip
    CRS-4000: Command discover failed, or completed with errors.
    [root@oranode1 bin]#
    The dhcp server is tested by my admin.
    Any Idea how to debug this problem ?
    Thanks
    Peter

    Thanks , but this does not work
    [root@oranode1 ~]# /u01/install/11.2.0.2/grid/runcluvfy.sh comp dhcp -clustername grid112
    You must NOT be logged in as root (uid=0) when running /u01/install/11.2.0.2/grid/runcluvfy.sh.
    [root@oranode1 ~]# su - grid
    [grid@oranode1 ~]$ /u01/install/11.2.0.2/grid/runcluvfy.sh comp dhcp -clustername grid112
    Verifying DHCP Check
    PRVF-0055 : User "grid" does not have sufficient authorization to run this command
    Verification of DHCP Check was unsuccessful on all the specified nodes.
    [grid@oranode1 ~]$
    do you know why?
    Thanks
    Peter

  • Bluetooth Unable to Discover/Pair Up

    Why is my iPad unable to discover/pair up with other Bluetooth accessories???

    What accessories are you talking about? The iPad only pairs some bluetooth devices like most keyboards and headphones. It does not pair with headsets.

  • IPhone 5 is unable to discover bluetooth enabled devices Mac Book and iPad

    My new iPhone 5 is unable to discover bluetooth enabled Macbook and iPad sitiing next to it

    That's not a feature of the iPhone. The only thing you can use bluetooth for with a computer is tethering.

  • Why Inner join or Outer join is not used for Pool or Cluster tables  ?

    Hi SAP-ABAP Experts .
    With Due Regards .
    May u explain me why Inner join or Outer join is not useful for Pool or Cluster tables  ?
    because peoples advised not use Joins for Pool and Cluster tables , What harm will take place , If we do this ?
    Best Regards to all : Rajneesh

    Both Pooled and Cluster Tables are stored as tables within the database. Only the structures of the two table types which represent a single logical view of the data are defined within the ABAP/4 Data Dictionary. The data is actually stored in bulk storage in a different structure. These tables are commonly loaded into memory (i.e., 'buffered') due to the fact they are typically used for storing internal control information and other types of data with little or no external (business) relevance.
    Pooled and cluster tables are usually used only by SAP and not used by customers, probably because of the proprietary format of these tables within the database and because of technical restrictions placed upon their use within ABAP/4 programs. On a pooled or cluster table:
    Secondary indexes cannot be created.
    You cannot use the ABAP/4 constructs select distinct or group by.
    You cannot use native SQL.
    You cannot specify field names after the order by clause. order by primary key is the only permitted variation.
    I hope it helps.
    Best Regards,
    Vibha
    Please mark all the helpful answers

  • Does sql sql efficiency depend on order of join predicate?

    hello experts,
    I trying to under stand the explain plan , I read the link
    http://savvinov.com/2012/06/11/sql-efficiency/
    Example 3: The inefficiency is coming from the wrong join order, where the bigger row source is taken as the driving table.
    please explain.
    thanks
    yahs

    Hi Nikolay,
    What matters is the order in which a join is executed, not the order in which you specify join conditionsHmmm. Not really in all cases.
    As jonathan Lewis pointed it out in the following article
    http://jonathanlewis.wordpress.com/2010/12/15/join-surprise/#more-5104
    With multi-column joins, the order of the join predicates can make a big difference to the way Oracle operates a merge join
    Best regards
    Mohamed Houri
    www.hourim.wordpress.com

  • Unable to discover local disks in T5220

    According to http://docs.oracle.com/cd/E35328_01/E35332/html/vmusg-storage-types.html#vmusg-storage-local
    I should be able to use extra disks in a T5220 to store VMs:
    Local storage consists of hard disks installed locally in your Oracle VM Server. In a default installation, Oracle VM Server will only use the first disk (/dev/sda), leaving other disks available for storage.
    As long as no partition and data are present the device will be detected as a raw disk. The choice is yours to use the local disks either to provision logical storage volumes as disks for virtual machines or to install a storage repository. If you place a storage repository on the local disk, an OCFS2 file system is installed.
    But I am unable to discover these disks using Oracle VM Manager 3.2.2.520, managing a host running Solaris 11.1 with latest version of VM Server for SPARC:
    # pkg list | grep ldom
    consolidation/ldoms/ldoms-incorporation     0.5.11-0.175.1.9.0.4.0   i--
    system/ldoms    0.5.11-0.175.1.9.0.2.2    i--
    system/ldoms/ldomsmanager    3.0.0.4-0.175.1.9.0.4.0    i--
    I suspect that it is because "partition and data are present" on the disk, but I don't know how to delete partitions with the format command, only change them to unassigned and zero length, and that didn't work:
    partition> p
    Current partition table (original):
    Total disk cylinders available: 46873 + 2 (reserved cylinders)
    Part      Tag    Flag     Cylinders         Size            Blocks
      0 unassigned    wm       0                0         (0/0/0)             0
      1 unassigned    wm       0                0         (0/0/0)             0
      2     backup    wu       0 - 46872      279.38GB    (46873/0/0) 585912500
      3 unassigned    wm       0                0         (0/0/0)             0
      4 unassigned    wm       0                0         (0/0/0)             0
      5 unassigned    wm       0                0         (0/0/0)             0
      6 unassigned    wm       0                0         (0/0/0)             0
      7 unassigned    wm       0                0         (0/0/0)             0
    I can't make slice 2 size zero, otherwise when I run label to write the changes I get an error.  Can anyone tell me what I'm missing?  Thanks!

    The reason you can't do this, is that the currently shipping support for Oracle VM Manager on SPARC systems is only for NFS.  The paragraph you are quoting is from the base Oracle VM manual and that section applies to x86.  /dev/sda is a Linux convention, not Solaris, so it wouldn't apply here.
    If you go to the Oracle VM Server for SPARC documentation at Oracle VM for SPARC Documentation  and then select View Library for Release 3.0 at
    http://docs.oracle.com/cd/E37707_01/index.html
    you will see a page with all the documents for the current release. Pick the "Oracle VM Manager 3.2: Quick Start Guide for Managing Oracle VM Server for SPARC" at http://www.oracle.com/technetwork/server-storage/vm/ovm3-sparc-quick-start-guide-1900072.pdf
    You are running the correct version of Solaris 11 and the logical domains manager, so you should be able to discover the server, networks, and file-based repositories, but you'll have to wait till a later release provides support for local disk, FC SAN, and iSCSI.  I hope this helps explain the situation.
    Jeff

  • To be unable to discover a Nexus 5548 wirth DCNM 5.2(2e)

    Hello,
    I am unable to discover 2 Nexus 5548 with the SAN client of DCNM 5.2(2e)
    These Nexus are used like LAN and SAN switch. Each Nexus is a SAN fabric. I would want to use DCNM in order to configurate the zone/zoneset via GUI. These Nexus 5548 run 5.1(3)N2(1b) release.
    The Nexus ARE NOT managed  via the Mgmt interface (OOB) but they are managed via an interface vlan (InB)
    I could not configure rightly
    - the snmp-server user (SNMP user V1/v2 or V3 + group ? )  CLI on Nx
    - to configure the discovery in order that DCNM discover each fabric either from web GU interface or java SAN client
    Please help !

    I believe DCNM requires an ssh login to the Nexus and not SNMP.
    DCNM uses Netconf over SSH protocol. See this earlier posting.

  • Unable to discover machines through SCOM after changing the IP range

    Hello,
    Last week in my company IP range was changed to class A network from class C network,before changing the IP range everything was working fine.but after changing the IP i am unable to discover any client machine through agent discovery and unable to install
    agent over SCOM console
    any help will be thankfull
    regards,
    angs

    pinging is happening from both the servers from MS and client pc.
    but from ms am not getting the server name if using -a command in front of ip.
    nslookup is resolving.
    recently in my firm the primary dns server is changed,i checked in dns host entry.management server is
    registered perfectly
    regards,
    Nikhil

  • I am using the iphone 3gs and uptaded to ios 6.1.3 but my phone was unable to activate why ? please help.

    I am using the iphone 3gs and uptaded to ios 6.1.3 but my phone was unable to activate why ? please help.

    What is the exact wording of the error message you received?
    Is there a sim in the iPhone?
    Is the iPhone jailbroken or modified to work with other than the original
    wireless provider?
    Have any of the beta versions of iOS 7 been installed on the iPhone?
    Need more information before someone can offer a solution.

  • HT1725 i want to buy a box of gems in Dragonvale but i am unable to buy why?

    Dear Friends
    please guide me what to do for below quesiont
    i want to buy a box of gems in Dragonvale but i am unable to buy why?

    Contact iTunes Customer Service and request assistance,
    Apple  Support  iTunes Store  Contact Us

  • Why is join button on iPod touch remaining dim not allowing me to enter password?

    Just purchased IPOD touch. 
    Attempting to enter password for wifi connection.
    Why does "join" button remain dim?

    That means you did not enter the required number of characters for the PW.

Maybe you are looking for

  • Clicking on the Now Playing does not open in a new window

    When you click on the artwork in the Now Playing fieild in the lower left corner, a window should pop up that displays the artwork.  Mousing over it shows the controls.  When I click on it, it shows a new window is open on my taskbar, but it doesn't

  • Problems while Running a JSP report

    Hello I am Running a JSP report and got NullPointerException at oracle.reports.jsp.ReportTag.doStartTag(..). I even tested the sample report provided in the Application server and even that gave the same exception as follows: Reports Error Page Thu M

  • MD04 not matching Inbound Delivery GR Qty

    Please help me understand what is happening in MD04. We have a month-long scheduling agreement with a vendor.  The agreement has hundreds of line items.  The vendor sends ASNs to us as shipments are made against the agreement.  The ASNs create inboun

  • No jcryptoki in java.library.path

    Hi everyone,      I encountered the error msg : no jcryptoki in java.library.path while trying to call a eracom HSM card in an UNIX env. Did anyone know why??? I tried the -Djava.library.path=..... But still had the same msg. Can anyone help me???

  • Backup solutions for FCP 5 with external FireWire LaCie disks

    Hi guys! I'm using a G4 mirrored door Dual and OS 10.4.8. On external LaCiel d2 disk (160 to 300 GB) I store my footage, project files and other assets for different projects. After having some trouble with lost "partitition table" on one disk and ac