Ir para conteúdo

POWERED BY:

Arquivado

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

willwalker

Subquery ou Selects?

Recommended Posts

Qual o melhor método, fazer uma query completa com subquerys e trazer tudo que precisa, ou fazer vários selects? Exemplo:

 

SELECT
produtos.id,
produtos.nome,
produtos.sub_titulo,
produtos.descricao,
produtos.medidas,
produtos.valor,
produtos.vezes,
produtos.cat_avo,
produtos.cat_pai,
produtos.desconto,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%p_0%' AND fotos.id_produto = produtos.id LIMIT 0,1) AS img_u,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%p_0%' AND fotos.id_produto = produtos.id LIMIT 1,1) AS img_d,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%p_0%' AND fotos.id_produto = produtos.id LIMIT 2,1) AS img_t,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%p_0%' AND fotos.id_produto = produtos.id LIMIT 3,1) AS img_q,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%n_0%' AND fotos.id_produto = produtos.id LIMIT 0,1) AS img_nu,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%n_0%' AND fotos.id_produto = produtos.id LIMIT 1,1) AS img_nd,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%n_0%' AND fotos.id_produto = produtos.id LIMIT 2,1) AS img_nt,
(SELECT fotos.img FROM fotos WHERE fotos.img LIKE '%n_0%' AND fotos.id_produto = produtos.id LIMIT 3,1) AS img_nq,
(SELECT GROUP_CONCAT(tamanhos.tamanho) FROM tamanhos WHERE tamanhos.id_produto = produtos.id) AS tamanhos,
(SELECT GROUP_CONCAT(tamanhos.quantidade) FROM tamanhos WHERE tamanhos.id_produto = produtos.id) AS quantidades,
(SELECT GROUP_CONCAT(tamanhos.id) FROM tamanhos WHERE tamanhos.id_produto = produtos.id) AS id_tam
FROM
produtos
WHERE produtos.id = 1

Ou fazer um select e de acordo fazer outro select:

 

SELECT
produtos.id,
produtos.nome,
produtos.sub_titulo,
produtos.descricao,
produtos.medidas,
produtos.valor,
produtos.vezes,
produtos.cat_avo,
produtos.cat_pai,
produtos.desconto
FROM
produtos
WHERE produtos.id = 1
//-------------------------------------------
SELECT
tamanhos.id,
tamanhos.tamanho,
tamanhos.quantidade
FROM
tamanhos
WHERE
tamanhos.id_produto = 1
//-------------------------------------------
SELECT
fotos.img
FROM fotos
WHERE
fotos.img LIKE '%p_0%' AND
fotos.id_produto = 1
//-------------------------------------------
SELECT
fotos.img
FROM fotos
WHERE
fotos.img LIKE '%n_0%' AND
fotos.id_produto = 1

 

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.