Teradata连接语句语法

时间:2019-04-16 18:05:21

标签: sql syntax teradata

我已经获得了以下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有所了解的人可以确认?

如果不是,什么是正确的语法?

谢谢。

2 个答案:

答案 0 :(得分: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;

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

答案 1 :(得分: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;