Anti Join Error
Hi ,
I have a problem in my report , when i am writing formula in a dimension column (later it turns into a measure column) but when i added another measure column from my subject area it throws me this ANTI JOIN error .
The formula which i wrote in Dimension Column :
min(CASE WHEN "Transaction Details"."GL Class Code" NOT IN ('FURR','FUBR','FUBA','FUBS','TXTX','FUBC') THEN "Ship-To Customer Details"."Ship-To Main Sales Person ID" END)||' '||CASE WHEN "Transaction Details"."GL Class Code" NOT IN ('FURR','FUBR','FUBA','FUBS','TXTX','FUBC') THEN "Ship-To Customer Details"."Ship-To Main Sales Person Name" END
Error Which got when i added a measure column after applying the above join:
Error Message:
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 17001] Oracle Error code: 2070, message: ORA-02070: database does not support antijoin in this context at OCI call OCIStmtExecute. [nQSError: 17010] SQL statement preparation failed. (HY000)
Thanks in advance.
Sudarshan
An I/O error has occurred while writing the log, probably because the file was not accessible, or a device failed.
Make the file accessible or restore the device, then restart the system. If the log is lost, apply media or incomplete recovery
Similar Messages
-
How to resolve illegal cross join error
Can someone please tell me how can we avoid illegal cross join error in modeling? If someone has any reference document , please share it.
I have 5 tables - Dim (A, B , C,E) and Fact( D). C is lookup table which is used to resolve the lookup code column in table E.
The relationships between these are
A--< B--< E >--C
& A--<D
My requirement is i have to expose Attributes of A,B ,C & E within Dimension.
These attributes (from B,C,E) will be treated as property of A.
Someone may query these attributes without selecting any column from fact table.
Thanks & Regards,
AshishHi Ashish,
it's not the first time you come up with this kind of question and I'm wondering if you understand the principle of granularity when I read your questions.
On physical level, a fact table must always join with the lowest level of detail of your dimension table. Let me explain, by giving an example which looks like your situation.
Assume I have three tables:
Table "E" contains products, which has attributes like: product_id and product_name
Table "B" contains order line items, which has attributes like: order_line_item_id, order_id and product_id.
Table "A" contains orders, which has attributes like: order_id and customer_name.
Table "D" contains facts ("metrical data") about my order: which has attributes like: order_id, order_revenue.
This will be the diagram on physical level: E--<B--<A--<D
Here are my joins: E.product_id on B.produc_id, B.order_id on A.order_id, A.order_id--<D.order_id
Now, my question to you is: will I be able to get the revenue of a certain product?
The answer is: No, because I don't know what part of my order is spent on a certain product. The problem is thus that the data in the fact table isn't stored on that level of detail, or in other words the fact and dimension table don't share the same level of granularity.
How it should be:
If you want to get the revenue per product, you will need to have a second fact table "G", which has data which is stored on order line item level. This table contains the following attributes: order_line_item_id, product_id and order_line_item_revenue.
This will become your diagram on physical level:
B--<G>--E
Joins: B.order_line_item_id on G.order_line_item_id and E.product_id on G.product_id
Table E has become a dimension of fact table G.
The first physical diagram should look like this:
A--<D
If you want you can model both physical diagrams into one logical diagram, assuming that A and D (order dimension and fact table) are aggregates of B and G (order line items dimension and fact table). In that case you should read this blog item: http://obiee101.blogspot.com/2008/11/obiee-making-it-aggregate-aware.html
Regards,
Stijn -
Correlated Subqueries, NOT EXISTS & Anti Joins - Clarification
I am a bit confused now regarding correlated subqueries and the NOT EXISTS operator (I had originally thought I understood but am all mixed up now!)
I was reading around and have gathered that if one were to use EXISTS that this isnt the preferred method, and that the query should actually be re-written as a join (im guessing INNER JOIN) to improve performance.
NOT EXISTS is also not a recommended method from what I read as well.
Correlated subqueries in general are not recommended for performance issues, since the subquery needs to be executed once for every row returned by the outer query.
I was reading up on anti joins, and found that a lot of people referred to anti joins with the use of NOT EXISTS and a correlated subquery, which if my above understanding is correct is super bad in performance as it combines two things that people dont recommend.
I was wondering for anti joins, is there any other way to write them besides a NOT EXISTS with a correlated subquery?
Essentially what would be the most efficient way of writing an anti join? Or when Im trying to find all the rows that are NOT a common match between two tables.Hi,
chillychin wrote:
I am a bit confused now regarding correlated subqueries and the NOT EXISTS operator (I had originally thought I understood but am all mixed up now!)That's easy to understand! This is a topic that does not lend itself to easy, general solutions. So much depends on the circumstances of a particular query that you can never honestly say anything like "EXISTS is bad".
I was reading around and have gathered that if one were to use EXISTS that this isnt the preferred method, and that the query should actually be re-written as a join (im guessing INNER JOIN) to improve performance. It depends. EXISTS and joins do different things. For example, when you have a one-to-many relationship, joining can increase the number of rows. Even if the join is faster than EXISTS, you may have the additional cost of doing a GROUP BY or SELECT DISTINCT to get just one copy of each row.
NOT EXISTS is also not a recommended method from what I read as well.
Correlated subqueries in general are not recommended for performance issues, since the subquery needs to be executed once for every row returned by the outer query.There's a lot of truth in that. However, results of coirrelated queries can be cached. That is, the system may remeber the value of a correlation variable and the value it retuned, so the next time you need to run the sub-query for the same value, it will just return the cached result, and not actually run the query again.
Remember that performance is only one consideration. Sometimes performance is extremely important, but sometimes it is not important at all. Whether a query is easy to understand and maintain is another consideration, that is sometimes more important than performace.
The optimizer may re-write your code in any case. When perforance really is an issue, there's no substitute for doing a EXPLAIN PLAN, finding out what's making the query slow, and addressing those issues.
I was reading up on anti joins, and found that a lot of people referred to anti joins with the use of NOT EXISTS and a correlated subquery, which if my above understanding is correct is super bad in performance as it combines two things that people dont recommend. It's actually only one thing that the people who don't recommend it don't recommend. EXISTS sub-queries are always correlated. (Well, almost always. In over 20 years of writing Oracle queries, I only remember seeing one uncorrelated EXISTS sub-query that wasn't a mistake, and that was in a forum question that might have been hypothetical.) Nobody worth listening to objects to EXISTS because it is EXISTS, or to a correlated sub-query because it is correlated. They object to things because they are slow (or confusing, or fragile, but you seem to be concerned with performance, so let's just say slow for now.) If someone tires to avoid an EXISTS sub-query, it precisely because the sub-query is correlated, and that is only an objection because they suspect the correlation will make it slow.
I was wondering for anti joins, is there any other way to write them besides a NOT EXISTS with a correlated subquery?As the name implies, you can use a join.
SELECT d.*
FROM scott.dept d
LEFT OUTER JOIN scott.emp e ON d.deptno = e.deptno
WHERE e.deptno IS NULL
;is an anti-join, showing details about the departments that have no employees.
Essentially what would be the most efficient way of writing an anti join? Or when Im trying to find all the rows that are NOT a common match between two tables.Anytime you can use EXISTS, you can also use IN, or a join. Personally, I tend to use the in the reverse of that order: I'll generally try it with a join first. If that looks like a problem, then I'll try IN. The query above can also be done like this:
SELECT *
FROM scott.dept
WHERE deptno NOT IN (
SELECT deptno
FROM scott.emp
WHERE deptno IS NOT NULL -- If needed
;Failing that, I'll try EXISTS.
Sometimes other methods are useful, too. For example, if we only need to know the deptnos that exist in scott.dept but not scott.emp, and no other information about those departments, then we can say:
SELECT deptno
FROM scott.dept
MINUS
SELECT deptno
FROM scott.emp
; -
"Missing information in order to join" error for Shared Calendars
I have shared Calendars before with various people and they all work flawlessly. Unforunately, one person who I am trying to share a calendar with got a "Missing information in order to join" error message when she tries to join. I have no idea why this is happening. She has a hotmail email address. Any idea/suggestions as to why this could be happening?
I am using a 4S, she is using a 4.Yup, I got the same thing. Further info: I set up the shared list on my mac, then sent the list to my wife who tried to open it on her iPhone 5 and got redirected to the iCloud sign in page and then got the above error. We then tried it via her hotmail account and signing into iCloud on a web browser on her computer. Same error.
Edit: Further further info: the ability to share a Reminder list is new in 10.8.2. It can't be done via the iCloud web interface or the iPhone interface.
Anybody know how to solve this? -
OUTER JOIN -- Error: ORA-01417 (a table may be outer joined to at most one
Hi there,
I have a rather simple task: retrieve all the records in a table, for agiven domain p_domain_id (input parameter). The problem is that there are about 6 FKs in the table, and I need the names (strings) corresponding to those FKs (from other tables). Unfortunately, some of the FKs are NULL, so in '=' I loose records. Without the last 2 lines in WHERE clause, I get the correct result. With d2 in place (and without the "(+)" ) I loose 2 records. With the d3 (and also without "(+)"), I do not get any record.
With the "(+)", the code compiles but I get the run time error ORA-01417
NOTE: I put the "+" within parentheses, in order to show it like a text in this editor.
What's an elegant solution to this?
Thanks a lot.
Here's the code:
SELECT
a.DOMAIN,
b.NAME,
a.DE_ID,
a.NAME,
a.PREFERRED_LABEL,
a.TECHNICAL_DEFINITION,
a.PUBLIC_DEFINITION,
a.DE_TYPE,
c1.NAME,
a.HAS_PARAMETER,
a.VALUE_CLASS,
c2.NAME,
a.INDEX_TERMS,
a.DATA_TABLE_ID,
d1.TABLE_NAME,
a.SP_INSERT,
a.SP_UPDATE,
a.SP_GET_BYMRN,
a.SP_GET_BYATTRIBUTE,
a.VALUE_TABLE_ID,
d2.TABLE_NAME,
a.PARAM_TABLE_ID,
d3.TABLE_NAME,
a.PARAM_DOMAIN_LOGIC,
a.SP_LOV,
a.LOWER_LIMIT,
a.UPPER_LIMIT,
a.BOOLEAN_Y,
a.BOOLEAN_N,
a.COMMENTS,
a.ENTERED_BY,
commons_API.get_person_full_name(a.ENTERED_BY),
a.ENTERED_ON
FROM
DATA_ELEMENT_INDEX a,
DE_DOMAIN b,
GENERAL_LIST c1,
GENERAL_LIST c2,
TABLE_GROUP d1,
TABLE_GROUP d2,
TABLE_GROUP d3
WHERE
DOMAIN = p_domain_id AND
b.DOMAIN_ID = a.DOMAIN AND
c1.ID = a.DE_TYPE AND
c2.ID = a.VALUE_CLASS AND
d1.TABLE_ID = a.DATA_TABLE_ID AND -- it works well without the next two lines
d2.TABLE_ID = a.VALUE_TABLE_ID "(+)" AND
d3.TABLE_ID = a.PARAM_TABLE_ID "(+)"
ORDER BY a.NAME;
Edited by: user10817976 on Oct 19, 2009 8:14 AMOne of my standard replies...
Oracle syntax does not support outer joining to more than one table.
However ANSI syntax does...
SQL> select * from a;
ID B_KEY C_KEY
1 2 3
2 1 4
3 3 1
4 4 2
SQL> select * from b;
ID C_KEY2
1 1
2 5
3 3
4 2
SQL> select * from c;
KEY1 KEY2 DTA
1 1 1-1
1 2 1-2
1 3 1-3
1 4 1-4
2 1 2-1
2 2 2-2
2 3 2-3
2 4 2-4
3 1 3-1
3 2 3-2
3 3 3-3
3 4 3-4
4 1 4-1
4 2 4-2
4 3 4-3
4 4 4-4
16 rows selected.
SQL> ed
Wrote file afiedt.buf
1 select a.id as a_id, b.id as b_id, c.key1 as c_key1, c.key2 as c_key3, c.dta
2 from a, b, c
3 where a.b_key = b.id
4 and a.c_key = c.key1 (+)
5* and b.c_key2 = c.key2 (+)
SQL> /
and a.c_key = c.key1 (+)
ERROR at line 4:
ORA-01417: a table may be outer joined to at most one other table
SQL> ed
Wrote file afiedt.buf
1 select a.id as a_id, b.id as b_id, c.key1 as c_key1, c.key2 as c_key3, c.dta
2 from a JOIN b ON (a.b_key = b.id)
3* LEFT OUTER JOIN c ON (a.c_key = c.key1 and b.c_key2 = c.key2)
SQL> /
A_ID B_ID C_KEY1 C_KEY3 DTA
3 3 1 3 1-3
4 4 2 2 2-2
2 1 4 1 4-1
1 2
SQL> -
Select SUM( ) in inner join - error in code
Hi All,
The following code is using ABAP OO and I get the following error
E:The addition "FOR ALL ENTRIES" excludes all aggregate functions with
the exception of "COUNT( * )", as the single element of the SELECT
clause.
Here is the Code:
select a/bic/ZEDM_ENTP amaterial a~/bic/zedm_stid
a/bic/ZEDM_SDT a/bic/ZEDM_MINH a~/bic/ZEDM_EHD
SUM( b~/bic/ZEDM_QPLN )
c~/bic/ZDEMQTY
from /bic/azdrp_1900 as a inner join /bic/azdrp_0400 as b
on
a/bic/ZEDM_ENTP = b/bic/ZEDM_ENTP and
amaterial = bmaterial and
a/bic/zedm_stid = bplant and
a/bic/ZEDM_SDT = b/bic/zedm_pshp
inner join /bic/azrp_0800 as C
on
amaterial = cmaterial and
a/bic/zedm_stid = c/bic/zedm_stid and
a/bic/ZEDM_SDT = c/bic/ZEDM_ESDT
into table z_it_inv for all entries in
RESULT_PACKAGE where
a~/bic/ZEDM_ENTP = RESULT_PACKAGE-/bic/ZEDM_ENTP
and a~material = RESULT_PACKAGE-material
and a~/bic/ZEDM_SDT = RESULT_PACKAGE-/BIC/OIZEDM_EDT
and a~/bic/zedm_stid = RESULT_PACKAGE-/BIC/OIZEDM_TOST
group by b/bic/ZEDM_ENTP bmaterial b~plant
b~/bic/zedm_pshp
Can you please tell me how to correct this?
ThanksHi,
You can get all records first and then LOOP AT Internal table and use COLLECT statement to sum up required column.
This will be a better idea than trying to use SUM in SELECT with JOINS.
ashish -
Hi,
While running this query I get following error In Orcale Forms Developer 10.2.0.2 and DB 10g but when I run same query in SQL Plus it
throws no errors.
Encountered the symbol "LEFT" when expecting one of the following
for group having intersect minus order stat union where connect.
PROCEDURE post_query IS
BEGIN
SELECT /*+ USE_HASH(o,stm) */
NVL(SUM(CASE o.status WHEN 'P' THEN 1 ELSE 0 END),0),
NVL(SUM(CASE o.status WHEN 'E' THEN 1 ELSE 0 END),0),
NVL(SUM(CASE o.status WHEN 'B' THEN 1 ELSE 0 END),0),
NVL(SUM(CASE WHEN o.status IN ('A','U') AND (NVL(o.priority,'1') = '2' OR stm.surcharge_amount != 0) THEN 1 ELSE 0 END),0),
NVL(SUM(CASE WHEN o.status IN ('A','U') AND (NVL(o.priority,'1') != '2' OR stm.surcharge_amount = 0) THEN 1 ELSE 0 END),0)
INTO :ORDER_STATUS.PENDING,
:ORDER_STATUS.ERROR,
:ORDER_STATUS.BACK_ORDER,
:ORDER_STATUS.EXPEDITE,
:ORDER_STATUS.STD_SHIP
FROM orders o
LEFT JOIN shipment_type_methods stm
ON (o.client = stm.client AND o.shipment_class_code = stm.shipment_class_code)
WHERE o.status IN ('B', 'E', 'P', 'A', 'U')
AND (parent_order_id is null
OR (order_type='G'
AND parent_order_id=original_order_number))
AND o.client = :ORDER_STATUS.CLIENT_NUMBER;
END post_query;Please help me to fix it.
Thanks
SandyHi Mathew,
The ugly table aliases aside: What happens when you try to run this query?
Give more info like sample data, desired output, exact error messages...
Rgds,
Guido -
Join error in Mapping !!
Hi,
I have 4 source tables and one target table. While mapping the source table with target I am getting following error:
Critical: DataSet Default All datastores in a dataset should be joined. This dataset has several sets of disconnected source datastores. The sets are: [src1,src2,src3,src4].To design a Cartesian product, create a join and select Cross Join in its properties.
Because of this error flow diagram cannot be created and showing the error message.
Can anybody tell me what exactly I should do to make this work?
Thanks,
ShriIf you need a cartesian join between tables you need to put a cross join. ODI needs a join (normal join or cross join) between all the tables that you've put in an interface.
-
Hi Guys ,
when i am using InnerJoin i am getting Error like
"For pooled tables ,Cluster tables and Projection Views Join is not allowed"
The code is below
Select * into table it_regup
From regup as a inner join bkpf as b on aBELNR = bBELNR.
Thanks,
Gopi.Gopi,
You can only use join with transparant tables. Since RESUP is a cluster table you will get error. Try the other solution which has been discussed in your other post.
Rgds,
Naren -
I am working with OWB 10gR2. My source is Oracle 8i. My target db is 10g.
Here is the code in the joiner expression window:
APS_CUSTOMER.ID = APS_PROF_MEMBER.ID (+)
AND APS_CUSTOMER.SEGMENT_ID = APS_CUSTOMER_SEGMENT.SEGMENT_ID (+)
AND APS_CUSTOMER.ADDR_ID = APS_CUST_ADDR.ADDR_ID (+)
AND APS_CUSTOMER.ETHNICITY_ID = APS_ETHNICITY.ETHNICITY_ID (+)
AND APS_CUSTOMER.ID = APS_CUSTOMER_SPECIALTY.ID (+)
AND APS_CUSTOMER_SPECIALTY.SPECIALTY_ID = APS_SPECIALTY.SPECIALTY_ID (+)
AND APS_MEMBER_CLASSIFICATION.CLASSIFICATION_ID = APS_CLASSIFICATION.CLASSIFICATION_ID (+)
AND APS_CUSTOMER.ID = APS_MEMBER_CLASSIFICATION.ID (+)
AND APS_CUSTOMER.ID = DPS_USER_ROLES.USER_ID
AND DPS_USER_ROLES.ATG_ROLE = DPS_ROLE.ROLE_ID
AND DPS_USER_ROLES.ATG_ROLE = '1800003'
AND (APS_PROF_MEMBER.DEGREES IS NOT NULL OR
APS_MEMBER_CLASSIFICATION.CLASSIFICATION_ID IS NOT NULL OR
APS_CUSTOMER_SPECIALTY.SPECIALTY_ID IS NOT NULL)
I am getting the following error:
VLD-1512: Outer join marker(+) can only be applied to column names. It cannot be applied to more complex expressions.
I have tried to remove the last 4 rows of the join condition to no avail. Can someone please provide some guidance. Thanks.Next problem. The mapping "works", but is not giving me the correct results.
I had previously written the query in TOAD and know the results are correct. The joiner code is almost exactly the same as the SQL query, but the input order is not the same as the table order in the query. Does the order of the input groups in the joiner matter that much? I think I remember reading that in the OWB help.
Thanks. -
Can anyone help why sqlplus gives an error for this (and for all SELECTs with JOINS) query?
Thanks.
SQL> run
1 SELECT
2 G.NOM_GARE,
3 T.VOIE,
4 SUM( DECODE( T.ID_CLASSE, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 0 ) ),
5 SUM( DECODE( T.ID_CLASSE, 0, 1, 0 ) ),
6 SUM( DECODE( T.ID_CLASSE, 1, 1, 0 ) ),
7 SUM( DECODE( T.ID_CLASSE, 2, 1, 0 ) ),
8 SUM( DECODE( T.ID_CLASSE, 3, 1, 0 ) ),
9 SUM( DECODE( T.ID_CLASSE, 4, 1, 0 ) ),
10 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309240', 'YYYYMMDDHH24' ), 1, 0 ) ),
11 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309241', 'YYYYMMDDHH24' ), 1, 0 ) ),
12 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309242', 'YYYYMMDDHH24' ), 1, 0 ) ),
13 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309243', 'YYYYMMDDHH24' ), 1, 0 ) ),
14 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309244', 'YYYYMMDDHH24' ), 1, 0 ) ),
15 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309245', 'YYYYMMDDHH24' ), 1, 0 ) ),
16 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309246', 'YYYYMMDDHH24' ), 1, 0 ) ),
17 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309247', 'YYYYMMDDHH24' ), 1, 0 ) ),
18 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309248', 'YYYYMMDDHH24' ), 1, 0 ) ),
19 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '200309249', 'YYYYMMDDHH24' ), 1, 0 ) ),
20 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092410', 'YYYYMMDDHH24' ), 1, 0 ) ),
21 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092411', 'YYYYMMDDHH24' ), 1, 0 ) ),
22 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092412', 'YYYYMMDDHH24' ), 1, 0 ) ),
23 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092413', 'YYYYMMDDHH24' ), 1, 0 ) ),
24 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092414', 'YYYYMMDDHH24' ), 1, 0 ) ),
25 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092415', 'YYYYMMDDHH24' ), 1, 0 ) ),
26 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092416', 'YYYYMMDDHH24' ), 1, 0 ) ),
27 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092417', 'YYYYMMDDHH24' ), 1, 0 ) ),
28 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092418', 'YYYYMMDDHH24' ), 1, 0 ) ),
29 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092419', 'YYYYMMDDHH24' ), 1, 0 ) ),
30 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092420', 'YYYYMMDDHH24' ), 1, 0 ) ),
31 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092421', 'YYYYMMDDHH24' ), 1, 0 ) ),
32 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092422', 'YYYYMMDDHH24' ), 1, 0 ) ),
33 SUM( DECODE( TRUNC( T.DATE_TRANSACTION, 'HH24' ), TO_DATE( '2003092423', 'YYYYMMDDHH24' ), 1, 0 ) )
34 FROM TRANSACTION T LEFT OUTER JOIN TYPE_GARE G ON
35 T.ID_GARE = G.ID_GARE
36 WHERE
37 TRUNC( DATE_TRANSACTION, 'DD' ) = TO_DATE( '20030924', 'YYYYMMDD' )
38 GROUP BY
39 T.VOIE
40 ORDER BY
41* T.VOIE
FROM TRANSACTION T LEFT OUTER JOIN TYPE_GARE G ON
Hiba a(z) 34. sorban:
ORA-00933: az SQL parancs nem megfeleluen ir vigetTry modifications below in bold
Can anyone help why sqlplus gives an error for this
(and for all SELECTs with JOINS) query?
Thanks.
SQL> run
1 SELECT
2 G.NOM_GARE,
3 T.VOIE,
4 SUM( DECODE( T.ID_CLASSE, 0, 1, 1, 1, 2, 1,
, 3, 1, 4, 1, 0 ) ),
5 SUM( DECODE( T.ID_CLASSE, 0, 1, 0 ) ),
6 SUM( DECODE( T.ID_CLASSE, 1, 1, 0 ) ),
7 SUM( DECODE( T.ID_CLASSE, 2, 1, 0 ) ),
8 SUM( DECODE( T.ID_CLASSE, 3, 1, 0 ) ),
9 SUM( DECODE( T.ID_CLASSE, 4, 1, 0 ) ),
10 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309240', 'YYYYMMDDHH24' ), 1,
0 ) ),
11 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309241', 'YYYYMMDDHH24' ), 1,
0 ) ),
12 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309242', 'YYYYMMDDHH24' ), 1,
0 ) ),
13 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309243', 'YYYYMMDDHH24' ), 1,
0 ) ),
14 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309244', 'YYYYMMDDHH24' ), 1,
0 ) ),
15 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309245', 'YYYYMMDDHH24' ), 1,
0 ) ),
16 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309246', 'YYYYMMDDHH24' ), 1,
0 ) ),
17 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309247', 'YYYYMMDDHH24' ), 1,
0 ) ),
18 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309248', 'YYYYMMDDHH24' ), 1,
0 ) ),
19 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '200309249', 'YYYYMMDDHH24' ), 1,
0 ) ),
20 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092410', 'YYYYMMDDHH24' ),
1, 0 ) ),
21 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092411', 'YYYYMMDDHH24' ),
1, 0 ) ),
22 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092412', 'YYYYMMDDHH24' ),
1, 0 ) ),
23 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092413', 'YYYYMMDDHH24' ),
1, 0 ) ),
24 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092414', 'YYYYMMDDHH24' ),
1, 0 ) ),
25 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092415', 'YYYYMMDDHH24' ),
1, 0 ) ),
26 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092416', 'YYYYMMDDHH24' ),
1, 0 ) ),
27 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092417', 'YYYYMMDDHH24' ),
1, 0 ) ),
28 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092418', 'YYYYMMDDHH24' ),
1, 0 ) ),
29 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092419', 'YYYYMMDDHH24' ),
1, 0 ) ),
30 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092420', 'YYYYMMDDHH24' ),
1, 0 ) ),
31 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092421', 'YYYYMMDDHH24' ),
1, 0 ) ),
32 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092422', 'YYYYMMDDHH24' ),
1, 0 ) ),
33 SUM( DECODE( TRUNC( T.DATE_TRANSACTION,
'HH24' ), TO_DATE( '2003092423', 'YYYYMMDDHH24' ),
1, 0 ) )
> 34 FROM TRANSACTION T, TYPE_GARE G
35 WHERE T.ID_GARE = G.ID_GARE(+)
36 AND37 TRUNC( DATE_TRANSACTION, 'DD' ) = TO_DATE(
'20030924', 'YYYYMMDD' )
38 GROUP BY
39 T.VOIE
40 ORDER BY
41* T.VOIE
FROM TRANSACTION T LEFT OUTER JOIN TYPE_GARE G ON
Hiba a(z) 34. sorban:
ORA-00933: az SQL parancs nem megfeleluen ir viget -
Javascript Caml Query join error
Greetings, i'm getting an error in a caml query. I have 3 lists: Reuniones, Tareas, Gerencias. Tareas has a lookup to Reuniones (by ID) and Reuniones has a lookup to Gerencias (by Title). I'm trying to get all items in Tareas pointing to a Gerencias item
"X", that is, all items in Tareas that has a Reuniones item with "X" as Gerencias lookup. Another requirement is that the Tareas item startdate has to be in a certain range.
The problem is that my query is returning " Value does not fall within the expected range."
My Query:
<View>
<Query>
<Where>
<And>
<And>
<Geq>
<FieldRef Name='StartDate'></FieldRef><Value Type='DateTime'
IncludeTimeValue='TRUE' StorageTZ='TRUE'>2014-02-01T02:00:00.000Z</Value>
</Geq>
<Leq>
<FieldRef Name='StartDate'></FieldRef><Value Type='DateTime' IncludeTimeValue='TRUE' StorageTZ='TRUE'>2014-03-01T02:00:00.000Z</Value>
</Leq>
</And>
<Eq>
<FieldRef Name="Gerencia" List="Reuniones"/>
<Value Type="Lookup">GerenciaExample</Value>
</Eq>
</And>
</Where>
</Query>
<ViewFields>
<FieldRef Name="Reunion" />
<FieldRef Name="StartDate" />
<FieldRef Name="Status" />
</ViewFields>
<ProjectedFields>
<Field Name="Gerencia" Type="Lookup" List="Reuniones" ShowField="Gerencia" />
</ProjectedFields>
<Joins>
<Join Type="Left" ListAlias="Reuniones">
<Eq>
<FieldRef Name="Reunion" RefType="Id" />
<FieldRef List="Reuniones" Name="ID" />
</Eq>
</Join>
</Joins>
</View>Hi,
Based on the error message, we can increase the value of the List View Lookup Threshold.
Go to the Central Admin > Application Management
> Manage web applications>General Settings
> Resource Throttling
Here is a tool for you to check the query syntax.
http://www.codeproject.com/Articles/458008/CAML-Query-Builder
More information:
List Join in SharePoint 2010 using CAML
http://sujeewaediriweera.wordpress.com/2012/02/18/list-join-in-sharepoint-2010-using-caml/
Best Regards
Dennis Guo
TechNet Community Support -
Join error (ORA-00933)
I use Oracle 8.1.7i, and get the following error when performing any JOIN in SELECT statement in sqlplus: ORA-00933, which in english sounds something like the sql command does not finish approprietly.
Can you post your query? It just means that your syntax is incorrect.
-
FULL JOIN Error - (ORA-03113: end-of-file on communication channel)
Hello,
well my following query is running fine, no errors but not showing join records from table B and E.
Query is as following:
SELECT D.EMPLOYEE_ID, F.EMP_NAME,
F.COMPANY_ID, F.COMP_NAME, F.BRANCH_ID, F.BR_NAME,
TO_CHAR(F.BIRTH_DATE,'DD/MM/YYYY') DOB,
((NVL(A.PF_OWN,0) + NVL(A.PF_COMP,0) + NVL(A.PROF_OWN,0) + NVL(A.PROF_COMP,0) + NVL(B.PROF_OWN,0) +
NVL(B.PROF_COMP,0) + NVL(B.TOT_PF_OWN,0) + NVL(B.TOT_PF_COMP,0) +
NVL(D.SAL_PF_OWN,0) + NVL(D.SAL_PF_COMP,0) -
(NVL(E.REV_PF_OWN,0) + NVL(E.REV_PF_COMP,0) + NVL(C.WD_PF_OWN,0) + NVL(C.WD_PF_COMP,0) +
NVL(C.WD_PROF_OWN,0) + NVL(C.WD_PROF_COMP,0)))) PF_BALANCE
FROM
(SELECT EMPLOYEE_ID, SUM(PF_OWN) SAL_PF_OWN, SUM(PF_COMP) SAL_PF_COMP
FROM EMPLOYEE.EMP_SAL_DETAILS
WHERE SAL_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')
AND SAL_DATE <= '01-DEC-06'
GROUP BY EMPLOYEE_ID) D
LEFT JOIN
(SELECT EMPLOYEE_ID, PF_OWN, PF_COMP, PROF_OWN, PROF_COMP
FROM EMPLOYEE.EMP_PF_OPBALS
WHERE AS_ON_DATE IN (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')) A
ON (D.EMPLOYEE_ID = A.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, SUM(TOT_PF_OWN) TOT_PF_OWN, SUM(TOT_PF_COMP) TOT_PF_COMP, SUM(PROF_OWN) PROF_OWN, SUM(PROF_COMP) PROF_COMP
FROM EMPLOYEE.EMP_PF_PROF_DETAILS WHERE END_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')
GROUP BY EMPLOYEE_ID) B
ON (D.EMPLOYEE_ID = B.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, SUM(PF_OWN) WD_PF_OWN, SUM(PF_COMP) WD_PF_COMP, SUM(PROF_OWN) WD_PROF_OWN, SUM(PROF_COMP) WD_PROF_COMP
FROM EMPLOYEE.EMP_PF_WITHDRAWALS WHERE PF_WDRAW_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')
GROUP BY EMPLOYEE_ID) C
ON (D.EMPLOYEE_ID = C.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, SUM(PF_OWN) REV_PF_OWN, SUM(PF_COMP) REV_PF_COMP
FROM EMPLOYEE.EMP_SAL_REVERSALS
WHERE SAL_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE >= '01-DEC-06')
AND SAL_DATE <= '01-DEC-06'
GROUP BY EMPLOYEE_ID) E
ON (D.EMPLOYEE_ID = E.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, COMPANY_ID, COMP_NAME, BRANCH_ID, BR_NAME, EMP_NAME, BIRTH_DATE, CONF_DATE FROM V_SEL_SYS_EMP) F
ON (D.EMPLOYEE_ID = F.EMPLOYEE_ID)
ORDER BY D.EMPLOYEE_ID
And when i try to full join my tables and replace LEFT JOIN with FULL OUTER JOIN following errors accurs:
(ORA-03113: end-of-file on communication channel) and oracle gets disconnect.
Query will only show records its tables are FULL JOINED.
Please help what is the solution. Its very urgent also.
I am thankful to you.
Regards,
Imran> And when i try to full join my tables and replace LEFT JOIN with FULL OUTER
JOIN following errors accurs:
(ORA-03113: end-of-file on communication channel) and oracle gets disconnect.
This is not an error, but a symptom of an error. An ORA-03113 results when the Oracle Server Process that services your client, terminates abnormally. When that server process terminates, the connection (TCP socket) to your client is torn down - without your client knowing about it.
The ORA-03113 is generated by your client's Oracle driver when your client suddenly discovers that the connection to the Oracle Server Process is no longer there.
So why does the Server Process terminate abnormally? Usually due to an internal error (an ORA-600 and/or an ORA-7445).
These errors results in:
- error messages to be generated in the Oracle instance's alert log
- a trace file generated by the server process that includes stack and memory dumps
You need to determine what these errors are, and the use the ORA-600/ORA-7445 Troubleshooter (Metalink Note 153788.1) on [url http://metalink.oracle.com]Metalink to troubleshoot the error, determine whether it is a bug, if there is a patch or a workaround available, etc.
> Please help what is the solution. Its very urgent also.
I do not mind helping out where I can. But I do have a problem with people claiming there problem is urgent, and deserves quicker/better attention that other peoples' problems around here,
If your problem is urgent then you are in the wrong place. I do not get paid to solve urgent problems quickly. I and others, spend our free time providing assistance. You cannot demand any kind of urgent attention from any of us.
If you like urgent and special attention, use Oracle Support. -
Hi ,
I have facing problem in the below scenario
A,B,C are 3 tables
A is the master table
A joins B and B joins C every thing mapped correctly.
when i try to execute this in ODI its gives below error
"com.sunopsis.tools.core.exception.SnpsSimpleMessageException: The source datatype is null for the column: EMPLOYER, and the technology: Oracle"
when i remove B to C join and add another condition in A to B Join
( ie and B.XXX in (Select C.XXX from C)
then it works fine.
Can anyone help how to solve this using 1st one.
Thanks in Advance,
AravindA,B,C are my source tables
D is my target table
A joins to B and B joins to C
my source and target is in the same database.
KM's i am using are
source : LKM SQL to Oracle
target : IKM Oracle Incremental Update.
A is the master table and B is the child table and C is the sub child table.
I want to load a column from C table into target D based on the join condition B to C.
when i do this it doesn't show any error in the mapping but when i execute it gives
"com.sunopsis.tools.core.exception.SnpsSimpleMessageException: The source datatype is null for the column: EMPLOYER, and the technology: Oracle" error.
Maybe you are looking for
-
Hello, I have a long-term serious problem: I have an Ipod touch 32GB 3rd Gen. with OS 4.02 and an Acer Laptopo with Windows 7 and ITunes10. that's for the technical specs. My problem is that my Genius is turned on in Itunes and updated and it works f
-
Hello, On "OAS / FORMS 10.1.2.3.0", I have applied the patch 9593176. We have no more files on $ORACLE_HOME/forms/trace. But users are still usually deconnected once a day (screen frozen). webclient operatingsystem is generally Windows XP SP2 or SP3
-
Getting A com.bea.control.ServiceControlException When Calling External WS
Here is a little background. Running WLI 8.1.5 Created a jcx/control from an external WSDL Using the control to call the external WS. However, in WLI my JPD just freezes/hangs for a few mins and returns the following exception. Exception : java.lang.
-
Duplicate DTP in Process chain
Hi folks, I have 2 separate loads (infopackages) scheduled that load into infoobject via a DTP. I can't run these both before running the DTP as this may result in duplicate entries. Ideally, I would run the infopackage 1 followed by DTP and then inf
-
when i sync my ipone is says that "it cant backup not enough space on this computer" i have 140+ gigs of free space on my mac