fazer um select
13/08/2018
0
SELECT TP.tabe_prec_prod_prec ,(select T.tabe_prec_nome FROM TABE_PREC T WHERE TP.tabe_prec_prod_codi_tabe = T.tabe_prec_codi),
(SELECT P.prod_refe FROM PROD P WHERE TP.tabe_prec_prod_codi_prod = P.prod_codi),
(SELECT P.prod_prec_vend FROM PROD P WHERE TP.tabe_prec_prod_codi_prod = P.prod_codi),
(SELECT P.prod_desc FROM PROD P WHERE TP.tabe_prec_prod_codi_prod = P.prod_codi)
FROM tabe_prec_prod TP
ate ai tudo bem ele me deu o resultado que eu queria que seria esse
REFE DESCRIÇÃO PREÇO VENDA TABELA PREÇO TABELA
GR121 HIDRA MASK MANT 250GR R$22,10 CD R$11,39
GR121 HIDRA MASK MANT 250GR R$22,10 DD R$14,84
GR121 HIDRA MASK MANT 250GR R$22,10 FRED R$9,35
GR121 HIDRA MASK MANT -250GR R$22,10 TABELA 2 R$ 9,36
so que o seguinte tem a coluna preço tabela que tem o valor referente a tabela cd,dd,fred tabela certo, eu quero fazer e assim
REFE DESCRIÇÃO PREÇO VENDA CD DD FRED TABELA 2
GR121 HIDRA MASK MANT 250GR R$22,10 R$11,39 R$14,84 R$9,35 R$ 9,36
obrigado.
Abner Carvalho
Post mais votado
13/08/2018
Deixa vê se eu entendi, os campos: cd, dd, fred são de outra tabela?
Se sim, qual o nome dessa tabela?
Alem disso ambas devem ter um identificador único pra gente criar essa associação. Vamos comparar o identificador único da tabela.
Outra sugestão é para não utilizar as subqueries para buscar os dados de outras tabelas, segue um exemplo:
SELECT tp.tabe_prec_prod_prec, t.tabe_prec_nome, p.prod_refe, p.prod_prec_vend, p.prod_desc FROM tabe_prec_prod tp, TABE_PREC t, PROD p WHERE tp.tabe_prec_prod_codi_prod = p.prod_codi AND tp.tabe_prec_prod_codi_tabe = T.tabe_prec_codi
Outra sugestão é dar uma olhada nas clausulas de agrupamento https://www.devmedia.com.br/clausulas-inner-join-left-join-e-right-join-no-sql-server/18930
Abraços.
Fernando Gaspar
Mais Posts
14/08/2018
Abner Carvalho
SELECT(SELECT P.prod_refe FROM PROD P WHERE TP.tabe_prec_prod_codi_prod = P.prod_codi), (SELECT P.prod_prec_vend FROM PROD P WHERE TP.tabe_prec_prod_codi_prod = P.prod_codi), (SELECT P.prod_desc FROM PROD P WHERE TP.tabe_prec_prod_codi_prod = P.prod_codi), case when(tp.tabe_prec_prod_codi_tabe = 6) THEN TP.tabe_prec_prod_prec end "DD", case when(tp.tabe_prec_prod_codi_tabe = 3) THEN TP.tabe_prec_prod_prec end "TABELA 2", case when(tp.tabe_prec_prod_codi_tabe = 5) THEN TP.tabe_prec_prod_prec end "CD",<br /> case when(tp.tabe_prec_prod_codi_tabe = 4) THEN TP.tabe_prec_prod_prec end "FRED" FROM tabe_prec_prod TP
ficou assim
e veio esse resultado
[url]https://uploaddeimagens.com.br/imagens/tabela-jpg-0fd18689-9669-44b0-b039-fcdc7a10a505[/url]
So que o resultado que eu quero e que nao duplique os produtos que so em um produto venha os valores dos campos dd,fred,tabela2.cd
15/08/2018
Emerson Nascimento
SELECT P.prod_refe, P.prod_prec_vend, P.prod_desc, case when(tp.tabe_prec_prod_codi_tabe = 6) THEN TP.tabe_prec_prod_prec end 'DD', case when(tp.tabe_prec_prod_codi_tabe = 3) THEN TP.tabe_prec_prod_prec end 'TABELA 2', case when(tp.tabe_prec_prod_codi_tabe = 5) THEN TP.tabe_prec_prod_prec end 'CD', case when(tp.tabe_prec_prod_codi_tabe = 4) THEN TP.tabe_prec_prod_prec end 'FRED' FROM tabe_prec_prod TP LEFT JOIN PROD P ON P.prod_codi = TP.tabe_prec_prod_codi_prod
15/08/2018
Emerson Nascimento
SELECT<br /> P.prod_refe, P.prod_prec_vend, P.prod_desc,<br /> MAX(case when(tp.tabe_prec_prod_codi_tabe = 6) then TP.tabe_prec_prod_prec else 0 end) ''DD'',<br /> MAX(case when(tp.tabe_prec_prod_codi_tabe = 3) then TP.tabe_prec_prod_prec else 0 end) ''TABELA 2'',<br /> MAX(case when(tp.tabe_prec_prod_codi_tabe = 5) then TP.tabe_prec_prod_prec else 0 end) ''CD'',<br /> MAX(case when(tp.tabe_prec_prod_codi_tabe = 4) then TP.tabe_prec_prod_prec else 0 end) ''FRED''<br /> FROM<br /> PROD P<br /> LEFT JOIN tabe_prec_prod TP ON<br /> TP.tabe_prec_prod_codi_prod = P.prod_codi<br /> GROUP BY<br /> P.prod_refe, P.prod_prec_vend, P.prod_desc
Clique aqui para fazer login e interagir na Comunidade :)