Dúvida com SQL Firebird

14/11/2022

0

SQL

Boa tarde amigos, estou precisando de um help em um SQL.

Seguinte, tem uma tabela que se chama ''tabela_precos'' que armazena os valores dos produtos aqui da loja. Todos os produtos tem mais de um preço, por exemplo:

id | produto | tabela | preço
142 | Celular x | 1 | 1.200

id | produto | tabela | preço
142 | Celular x | 2 | 900


Ai que vem minha dúvida, eu to tentando fazer um sql que busca o preço da tabela 2, porém, se ele não existir, preciso que traga o preço da tabela 1.

To meio travado aqui, qualquer ajuda será bem vinda,

obrigado!
Yuri

Yuri

Responder

Post mais votado

15/11/2022

select
   p.produto,
   (case when t2.tabela is null then t1.tabela else t2.tabela) tabela,
   (case when t2.tabela is null then t1.preco else t2.preco) preco
from
   produto p
left join
   tabela_precos t2 on t2.produto = p.produto and t2.tabela = 2
left join
   tabela_precos t1 on t1.produto = p.produto and t1.tabela = 1 and t2.tabela is null

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

16/11/2022

Yuri

select
   p.produto,
   (case when t2.tabela is null then t1.tabela else t2.tabela) tabela,
   (case when t2.tabela is null then t1.preco else t2.preco) preco
from
   produto p
left join
   tabela_precos t2 on t2.produto = p.produto and t2.tabela = 2
left join
   tabela_precos t1 on t1.produto = p.produto and t1.tabela = 1 and t2.tabela is null



Valeu irmão, mandou muito! funcionou.

muito obrigado <3
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar