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
-
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
PeterThanks , 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 : RajneeshBoth 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
yahsHi 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,
angspinging 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.
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