请告诉我这个查询的语法问题是什么?
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点问题
发布于 2016-02-22 12:48:20
我认为这是您想要写的查询:
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;正如注释中提到的,代码中存在大量错误。您可以同时使用隐式和显式连接,避免使用隐式联接语法,而只使用适当的语法(如我的示例)。
而且,只有在select中才能指定您想要的列,我猜您一直试图做的是
JOIN spr.ID, spr.STATE -> wanted this columns.您应该将它们写在select部分。
另一个问题是连接条件,您要么使用隐式联接,(从表,table2,table3.)然后联接条件在where子句中,或者使用显式联接,然后条件在ON子句中。你不能两者兼用!
另一个问题是不必要地使用了“相似”。与完全匹配时,使用等号。
https://stackoverflow.com/questions/35554017
复制相似问题