user1806801
user1806801

Reputation: 533

LIKE with % on column names

Here is my query that results in a syntax error:

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE %account_invoice.origin%

The account_invoice.origin field contains the text of sale_order.name, plus other text as well, so I need to match sale_order.name string anywhere in the account_invoice.origin string.

I'm using PostgreSQL 8.4.

Upvotes: 53

Views: 45673

Answers (1)

Marc
Marc

Reputation: 16522

Try this

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE '%'  || account_invoice.origin || '%'

% needs single quote because the pattern is a string.

|| is the operator for concatenation.

Upvotes: 98

Related Questions