Select do MySQL com IF

O problema:

Fazer uma select que, dependendo do que contiver um certo campo, busca uma coisa ou outra. Por exemplo:

  • tendo itens classificados por tamanho (grande, pequeno), formato (quadrado, círculo) e cor
  • queremos selecionar itens de tamanho ‘grande’, mas se o formato for ‘quadrado’, então queremos só os azuis

A solução:

A query:

select name from libs where tamanho=’grande’ and IF(formato=’quadrado’, cor like ‘%blue%’, cor like ‘%’) group by tissue;

seleciona as entradas para tamanho = ‘grande’, mas
IF formato = ‘quadrado’
THEN SELECT cor like ‘%blue%’
ELSE SELECT cor like ‘%’

saiba mais…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s