Subquery ou Selects?
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_tamFROM
produtos
WHERE produtos.id = 1
Ou fazer um select e de acordo fazer outro select:
SELECTprodutos.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
Discussão (3)
Carregando comentários...