jan345
jan345

Reputation: 155

Missing Keyword ORA-00905

please tell me what is the syntax problem in this query

SELECT sde
FROM TABLE_EW  sde , CASE_W  spr, DOCUMENT swp 
JOIN swp.id, swp.YEAR  ON (swp.id = sde.ID_DOCUMENT) 
JOIN spr.ID, spr.STATE, spr.NUMBER ON (spr.ID_DOCUMENT = swp.ID)  
WHERE sde.IDENT_TABLEEW LIKE '122337456464' 
AND swp.YEAR LIKE 2015;

SQLDeleoper point problem to From Line

Upvotes: 0

Views: 164

Answers (1)

sagi
sagi

Reputation: 40481

I think this is the query you meant to write:

SELECT sde.*,swp.id, swp.YEAR,spr.ID, spr.STATE
FROM TABLE_EW  sde 
JOIN DOCUMENT swp ON  (swp.id = sde.ID_DOCUMENT)
JOIN CASE_W spr ON (spr.ID_DOCUMENT = swp.ID)  
WHERE sde.IDENT_TABLEEW = '122337456464' 
AND swp.YEAR = 2015;

As mentioned in the comments, you have A LOT of errors in your SQL code. You use implicit and explicit joins together, AVOID the use of implicit joins syntax and use only the proper syntax like my example.

Also, only in the select you can specify the columns you want, I'm guessing what you've been trying to do is

JOIN spr.ID, spr.STATE -> wanted this columns.

You should write them in the select part.

Another problem is the join condition, you either use implicit joins, (from table,table2,table3..) and then the join condition is in the where clause or you use explicit joins and then the condition is in the ON clause. You can't use both!

Another problem is the unnecessary use of LIKE . When comparing to an exact match, use EQUALS sign.

Upvotes: 3

Related Questions