Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael C Bueno

Comparações IF,ELSE

Recommended Posts

Bom dia pessoal estou fazendo um if e não estou conseguindo, pode ser tbem que não funcione desta forma

deêm uma olhada

 

SELECT `Produto`.`id`,
	   `Produto`.`descricao`,
	   `Produto`.`descricao_curta`,
	   IF 	 (Produto.id = 3) THEN (Produto.preco),
	   ELSE  (Produto.preco*2)
	   END IF
	   `Produto`.`info_preco`,
	   `Produto`.`destaque`
	   FROM produtos as `Produto`  ORDER BY `Produto`.preco LIMIT 0, 12;

erro

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') THEN (Produto.preco),

ELSE (Produto.preco*2)

END IF

`' at line 4

 

isso ai eh soh um teste pq no lugar da comparação do if eu vou colocar uma subquery então simplifiquei para debugar melhor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

SELECT `Produto`.`id`,

`Produto`.`descricao`,

`Produto`.`descricao_curta`,

CASE WHEN Produto.id = 3 THEN Produto.preco

ELSE (Produto.preco*2)

END AS PRECO,

`Produto`.`info_preco`,

`Produto`.`destaque`

FROM produtos as `Produto` ORDER BY `Produto`.preco LIMIT 0, 12;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque:

 

SELECT `Produto`.`id`,
	   `Produto`.`descricao`,
	   `Produto`.`descricao_curta`,
	   IF (Produto.id = 3, Produto.preco, Produto.preco*2) AS preco,
	   `Produto`.`info_preco`,
	   `Produto`.`destaque`
	   FROM produtos as `Produto`  ORDER BY `Produto`.preco LIMIT 0, 12;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.