2017-06-28 6 views
0

私はこのクエリをネストしようとしていますが、エラーが発生しています:タイプboolean: "%malfunction%"の入力構文が無効です。ポストグルでネスティングとLIKEとORを使用

select * 
from (
select column_one, column_two 
from table 
group by column_one, column_two 
) as new_table 
where column_two like '%false%' or '%malfunction%' or '%accidental%' or '%mistaken%' 
order by column_one 

Column_twoは論理値ではありませんが、それを1と識別しています。 私は何か小さいものを見逃しているように感じますが、私はそれを見つけることができません。助けて!

+3

あなたは各条件でのカラム名を入れる必要があります% 'or column_two like'%mistake% '' –

+0

私は正しく考えていないことを知っていました。これはまさに私が欠けていたものでした。ありがとう! – Dave

+0

@Daveを助ける喜び –

答えて

0

正しい構文は、table_nameの から選択COL1、COL2、 のようなものであるところ条件1 OR条件2 OR condition3 ...。

1

あなたはany(array[...])、例を使用することができます ` '%偽%' のようなcolumn_twoまたは '%誤動作%' のようcolumn_twoまたは偶発%」のようなcolumn_two:

with test (col) as (
    values 
    ('pear'), ('banana'), ('apple') 
) 

select * 
from test 
where col like any(array['%ea%', '%ba%']); 

    col 
-------- 
pear 
banana 
(2 rows) 
関連する問題