Fórum Consulta #31205
29/04/2008
0
Como fazer uma única consulta com essas duas consultas. A diferença entre as duas sqls está em vermelho.
Alguém tem alguma sugestão?
SELECT mp.id,
mo.desc_modelo, m.desc_montadora, subgrupos.desc_subgrupo,
p.desc_descricao, [color=red:7e169fd375]f.desc_cod_fabricante as codigo [/color:7e169fd375]
FROM
peca_modelo pm,
modelos mo,
montadoras m,
modelo_pecas mp,
pecas p,
peca_subgrupos ps,
subgrupos,
[color=red:7e169fd375]fabricante_modelo_pecas fmp,
fabricantes f [/color:7e169fd375]
where
pm.modelo_pecas_id = mp.id
and pm.modelo_id = mo.id
and mo.montadora_id = m.id
AND ps.subgrupo_id = subgrupos.id
AND p.id = mp.peca_id
AND ps.peca_id = p.id
AND [color=red:7e169fd375]mp.id = fmp.modelo_peca_id and f.id = fmp.fabricante_id [/color:7e169fd375]
SELECT mp.id,
mo.desc_modelo, m.desc_montadora, subgrupos.desc_subgrupo,
p.desc_descricao, [color=red:7e169fd375]m.desc_cod_oem as codigo [/color:7e169fd375]
FROM
peca_modelo pm,
modelos mo,
montadoras m,
modelo_pecas mp,
pecas p,
peca_subgrupos ps,
subgrupos,
[color=red:7e169fd375]modelo_peca_montadoras mpm [/color:7e169fd375]
where
pm.modelo_pecas_id = mp.id
and pm.modelo_id = mo.id
and mo.montadora_id = m.id
AND ps.subgrupo_id = subgrupos.id
AND p.id = mp.peca_id
AND ps.peca_id = p.id
AND [color=red:7e169fd375]mp.id = mpm.modelo_peca_id and m.id = mpm.montadora[/color:7e169fd375]_id
Alguém tem alguma sugestão?
SELECT mp.id,
mo.desc_modelo, m.desc_montadora, subgrupos.desc_subgrupo,
p.desc_descricao, [color=red:7e169fd375]f.desc_cod_fabricante as codigo [/color:7e169fd375]
FROM
peca_modelo pm,
modelos mo,
montadoras m,
modelo_pecas mp,
pecas p,
peca_subgrupos ps,
subgrupos,
[color=red:7e169fd375]fabricante_modelo_pecas fmp,
fabricantes f [/color:7e169fd375]
where
pm.modelo_pecas_id = mp.id
and pm.modelo_id = mo.id
and mo.montadora_id = m.id
AND ps.subgrupo_id = subgrupos.id
AND p.id = mp.peca_id
AND ps.peca_id = p.id
AND [color=red:7e169fd375]mp.id = fmp.modelo_peca_id and f.id = fmp.fabricante_id [/color:7e169fd375]
SELECT mp.id,
mo.desc_modelo, m.desc_montadora, subgrupos.desc_subgrupo,
p.desc_descricao, [color=red:7e169fd375]m.desc_cod_oem as codigo [/color:7e169fd375]
FROM
peca_modelo pm,
modelos mo,
montadoras m,
modelo_pecas mp,
pecas p,
peca_subgrupos ps,
subgrupos,
[color=red:7e169fd375]modelo_peca_montadoras mpm [/color:7e169fd375]
where
pm.modelo_pecas_id = mp.id
and pm.modelo_id = mo.id
and mo.montadora_id = m.id
AND ps.subgrupo_id = subgrupos.id
AND p.id = mp.peca_id
AND ps.peca_id = p.id
AND [color=red:7e169fd375]mp.id = mpm.modelo_peca_id and m.id = mpm.montadora[/color:7e169fd375]_id
Jaymebhmg
Curtir tópico
+ 0
Responder
Posts
11/05/2008
Codename.v
Você pode criar um Stored Procedure que contenha os dois comandos SELECT que você listou acima e que receba um parametro que identifique atravez de um comando IF qual dos dois SELECT deve ser executado.
Você vai continuar tendo os dois comandos SELECT mas agora eles estão reduzidos a uma unica Stored Procedure.
CREATE PROCEDURE SP_SELECT_EXEMPLO(IN tipo INT) BEGIN IF tipo = 1 THEN SELECT mp.id, mo.desc_modelo, m.desc_montadora, subgrupos.desc_subgrupo, p.desc_descricao, f.desc_cod_fabricante as codigo FROM peca_modelo pm, modelos mo, montadoras m, modelo_pecas mp, pecas p, peca_subgrupos ps, subgrupos, fabricante_modelo_pecas fmp, fabricantes f where pm.modelo_pecas_id = mp.id and pm.modelo_id = mo.id and mo.montadora_id = m.id AND ps.subgrupo_id = subgrupos.id AND p.id = mp.peca_id AND ps.peca_id = p.id AND mp.id = fmp.modelo_peca_id and f.id = fmp.fabricante_id ELSE SELECT mp.id, mo.desc_modelo, m.desc_montadora, subgrupos.desc_subgrupo, p.desc_descricao, m.desc_cod_oem as codigo FROM peca_modelo pm, modelos mo, montadoras m, modelo_pecas mp, pecas p, peca_subgrupos ps, subgrupos, modelo_peca_montadoras mpm where pm.modelo_pecas_id = mp.id and pm.modelo_id = mo.id and mo.montadora_id = m.id AND ps.subgrupo_id = subgrupos.id AND p.id = mp.peca_id AND ps.peca_id = p.id AND mp.id = mpm.modelo_peca_id and m.id = mpm.montadora_id END IF; END
Você vai continuar tendo os dois comandos SELECT mas agora eles estão reduzidos a uma unica Stored Procedure.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)