我无法识别此查询的语法错误,哪里是语法错误?
select c_name, c_address, c_mktsegment , count(*) as cnt customer join orders on c_custkey=o_custkey
where
(c_name like %r% AND c_address like %a%) OR c_mktsegment like ='%t%'
group by c_name, c_address, c_mktsegment having count(*)>2;
答案 0 :(得分:4)
一个错误是你在这里缺少引号:
(c_name like %r% AND c_address like %a%)
应该是:
(c_name like '%r%' AND c_address like '%a%')
评论中提到的另一个问题是你错过了FROM关键字:
select c_name, c_address, c_mktsegment , count(*) as cnt customer
应该是:
SELECT c_name, c_address, c_mktsegment , count(*) as cnt
FROM customer
可能还有其他错误。但是你可以确定这两个问题 实际上是问题而且做需要修复。我强烈建议您在进一步调查任何其他问题之前先修复它们。
答案 1 :(得分:0)
我在Mark Byers给出的答案中又添加了一件事
您不能使用= with like operator
因此您必须将OR c_mktsegment like ='%t%
'替换为 OR c_mktsegment like '%t%'