Teradata连接语句语法

问题描述 投票:0回答:2

我被给予以下sql,这似乎在通过apache方解码导入时有问题。

SELECT DISTINCT a.abc, t.desc, m.qprs, m.mpn,
  m.ohug, p.tre, p.status
  FROM (table_a m table_b p 
          ON m.mat = p.mat)
          INNER JOIN table_c t ON t.mat = m.mat
  WHERE t.lang = 'E' AND p.plant LIKE '110%'
  ORDER BY p.plant desc;

具有Teradata详细知识的人可以证实,如果这种语法是正确的吗?

如果没有,那么什么是正确的语法?

提前致谢。

sql syntax teradata
2个回答
1
投票

该语法不正确。

SELECT DISTINCT a.abc, t.desc, m.qprs, m.mpn, m.ohug, p.tre, p.status
FROM table_a m INNER JOIN
---------------^ missing keyword
     table_b p 
     ON m.mat = p.mat INNER JOIN
     table_c t
     ON t.mat = m.mat
WHERE t.lang = 'E' AND p.plant LIKE '110%'
ORDER BY p.plant desc;

虽然应该允许括号,但不需要括号。


0
投票

要添加到Gordons答案,关键字desc是保留关键字。最好使用[]来避免错误。

SELECT DISTINCT a.abc, t.[desc], m.qprs, m.mpn, m.ohug, p.tre, p.status FROM table_a m INNER JOIN
 table_b p 
 ON m.mat = p.mat INNER JOIN
 table_c t
 ON t.mat = m.mat WHERE t.lang = 'E' AND p.plant LIKE '110%' ORDER BY p.plant desc;
© www.soinside.com 2019 - 2024. All rights reserved.