0

このクエリの構文ミスを特定できません。構文ミスはどこにありますか?

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;
4

2 に答える 2

4

1 つのエラーは、ここに引用符がないことです。

(c_name like %r% AND c_address like %a%)

次のようにする必要があります。

(c_name like '%r%' AND c_address like '%a%')

コメントで言及されているもう 1 つの問題は、FROM キーワードを見逃したことです。

select c_name, c_address, c_mktsegment , count(*) as cnt customer 

次のようにする必要があります。

SELECT c_name, c_address, c_mktsegment , count(*) as cnt
FROM customer 

また、その他のエラーがある場合もあります。しかし、これらの問題はどちら実際には問題であり、修正する必要があることは確かです。他の問題をさらに調査する前に、それらを修正することを強くお勧めします。

于 2012-09-19T02:39:50.087 に答える
0

Mark Byers からの回答にもう 1 つ追加しているのは、

= を like 演算子と一緒に使用することはできません

OR c_mktsegment like ='%t%そのため、 '次のように置き換える必要があります OR c_mktsegment like '%t%'

于 2012-09-19T18:53:33.257 に答える