Ir para conteúdo

POWERED BY:

Arquivado

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

fredmunhoz

Consulta Tabelas

Recommended Posts

Boa tarde pessoal,

 

já de antemão venho informar que sou iniciante na linguem porém tenho muita força de vontade.
Vamos lá... estou encontrando uma enorme dificuldade em trazer a seguinte consulta; vou tentar explicar:-

 

Tenho 2 tabelas (vamos chamar de TAB_A e TAB_B)

 

Na TAB_A tenho as seguintes colunas
CODIGO

 

NOME_PRODUTO

 

GRUPO (código do grupo)

Na TAB_B
CODIGO
NOME_GRUPO

 

NOMESUB_GRUPO1
SUB_GRUPO1
NOMESUB_GRUPO2
SUB_GRUPO2

A referencia entre as tabelas são os campos TAB_A.GRUPO e TAB_B.CODIGO.

 

A consulta que preciso realizar, precisa sair da seguinte forma:-
TAB_A.CODIGO
TAB_A.NOME_PRODUTO
TAB_A.GRUPO
TAB_B._NOME_GRUPO
TAB_B.SUB_GRUPO1
TAB_B.NOMESUB_GRUPO1
TAB_B.SUB_GRUPO2
TAB_B.NOMESUB_GRUPO2


O que está acontecendo é seguinte... o nome do grupo (TAB_B.NOME_GRUPO) está saindo igual para as colunas TAB_B.NOMESUB_GRUPO1 e 2.
Porque é o seguinte... o nome do campo para o grupo é o mesmo... o que difere são os códigos.

Como faço isso?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não ficou claro , ao menos para mim, mas creio que um simples join resolva.

 

Mas não sei se entendi bem a questão dos "subgrupos"

Compartilhar este post


Link para o post
Compartilhar em outros sites

é... tbm acho que não expliquei muito bem Motta.

Seguinte as descrições do GRUPO estão numa tabela só com um único código, exemplo:-

Cód. | Descrição
1 | Madeira
2 | Ferro
3 | Plástico
4 | Azul
5 | Verde
6 | Cor
7 | Matéria-Prima

na tabela de produtos está assim:-

Cód. Produto Cód. Grupo Cód. Sub1 Cód. Sub2 10 Pote 3 4 6 20 Caneca 2 4 7 30 Mesa 1 5 6 40 Caderno 3 5 7



O problema que tenho é que quando ele trás a consulta ela vem somente o da descrição do código do grupo
Exemplo do resultado:-

Cód. Produto Cód. Grupo Descr. Grupo Cód. Sub1 Descr. Sub1 Cód. Sub2 Descr. Sub2 10 Pote 3 Plástico 4 Plástico 6 Plástico 20 Caneca 2 Ferro 4 Ferro 7 Ferro 30 Mesa 1 Madeira 5 Madeira 6 Madeira 40 Caderno 3 Plástico 5 Plástico 7 Plástico


Compartilhar este post


Link para o post
Compartilhar em outros sites

instanciando a tabela mais de uma vez , tente algo como

select *
from produtos p, grupos g1,grupos g2,grupos g3
where p.CODIGO = g1.cod
and p.SUB_GRUPO1= g2.cod
and p.SUB_GRUPO2= g3.cod

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Boa tarde, pessoal.
      Espero que todos estejam bem.
       
      Seguinte:
      Tenho a seguinte consulta:
       
      $usuarios= "SELECT * FROM usuarios";
      $query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado");
      $usuario = mysqli_fetch_array($query);
       
      Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma:
       
      $nomes = array("Rafael", "João", "Maria", "Pedro", "Patricia", "Camila");
       
      Agradeço desde já.
      Abs
       
       
    • Por babylon
      Olá galera tudo bem?
      Deixa eu perguntar, estava mexendo no meu site e queria adicionar em html essa tabela porem esta dando erro pois fica assim:
       

      Porem gostaria que ficasse assim:

      Segue o código da tabela:
      <center><table border="0">
          <tr>
      <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Bicicleta<br> <font color="#0092df">..</font>Track Bikes<br> <font color="#0092df">..</font>Aro 29 TKS</b></a></span><br><br><font size="5"><center><span style="background-color: #A1CD44">DE:</span></font> <br><font size="5"><s>R$ 1.999,99</center></font></s> </td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itembicicleta.jpg"><br><font size="5"><center><span style="background-color: #A1CD44">COM - 60%:</span></font> <br><font size="5">1.199,99</font></center></a></td>
             <td><font color="#ffffff">....</font></td>
              <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Monitor 24"<br> <font color="#0092df">..</font>Samsung<font color="#0092df">aa.aa</font><br> <font color="#0092df">..</font>1ms 144hz</b></a></span></center></td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itemmonitor.jpg"></a></td>
          </tr>
          </table></center>
      O que estaria errado, pois não sei como colocar nessa tabela outro fundo de outra cor, veja que usei td bgcolor="#0092df" para o azul escuro mas não sei como usaria pro "#e4f1fb" para o fundo ficar de azul claro em baixo bem como não ficou correto em altura o "DE:" com o "COM - 60%:".
      Bom é isso, obg.


    • Por FabianoSouza
      Tenho uma function que precisa receber 02 argumentos.
      Ela funciona se eu aplicar num select qualquer. Mas se eu aplicar num select dinâmico, ocorre erro.
      Veja trecho do meu select.
      ... SET @sql = @sql +', dbo.retornaIco_ItemBloq((SELECT COUNT(*) FROM dbo.tab AS TT2 WHERE TT2.codCategTreina = CTT.id),'+@title+') AS ''resp''' ... No caso, o primeiro argumento da function dbo.retornaIco_ItemBloq é um SELECT COUNT.
      O segundo argumento é uma variável (que está devidamente declarada e definida).
       
      O erro ocorre porque ao executar (chamando EXEC(@sql) ), o SQL entende que o segundo argumento é uma coluna da consulta principal, pois existe uma vírgula antes da variável @title (que é o segundo argumento da function).
      Repito. Se eu aplicar essa function num select normal, funciona normalmente. Porém, preciso que funcione num SQL dinâmico porque é esse é o padrão que estou adotando para o sistema todo.
       
      A function dbo.retornaIco_ItemBloq faz o seguinte:
      1) Recebe o valor do COUNT e da variável @title
      2) Se o COUNT for maior que  Zero, cria uma tag HTML (uma SPAN), define sua title com o valor da variável @title e passa para uma variável
      3) Retorna o HTML que será exibido no resultado da consulta principal
      É super simples.
       
      Há outra forma de chamar a function?
    • Por mr22robot
      Ola caros amigos. 
      Estou com uma dúvida aqui que embora nao tenho achado ainda uma resposta, acredito que haja.
      Estou estudando a tão sonhada linguagem de programação asp.net core mvc. Linguagem essa que demorei 5 anos pra iniciar os estudos rsrs.
      Mas estou agarrado em uma situação. 
      Estou usando como base de dados nos meus estudos um banco Oracle. Que já tem algumas informações nele. Utilizei o SCAFFOLD para criar as classes e o contexto baseado no banco e tabelas existentes. 
      Porem agora na fase das consultas, estou perdido em como utilizar o IN que eu utilizo no oracle; no LINQ.
      Ex: 
      SELECT CODPROD,DESCRICAO FROM PRODUTO WHERE CODPROD IN(1,2,3,4,5,6) Como eu utilizo esse filtro com uma restrição de códigos de produtos? no caso o where codprod in(1,2,3,4,5,6) ?.
      Desde já obrigado pela ajuda.
    • Por clovis.sardinha
      Bom dia.
      Meu problema é o seguinte:
      Estou fazendo uma tabela e preciso mostrar o usuário e várias cidades que pertencem a este usuário.
      O resultado do array é o seguinte:

      Quando passo para a tabela os valores de cidade se repetem para o mesmo usuário até o final e retorna fazendo o mesmo para o próximo usuário. 
      Veja abaixo

       
      Meu código para a tabela é a seguinte:
      <tr> <td align="left"><?php echo $usuario['nome'] ?></td> <td align="left"><?php echo $usuario['nome_orgao'] ?></td> <td align="left"><?php echo $usuario['nome_funcao'] ?></td> <?php foreach($destinos as $key=>$destino):?> <?php $key=0;?> <td align="left"> <?php foreach($destino as $chave=> &$cidade): ?> <?php echo $cidade['cid_nome']."-";?> <?php endforeach;?> </td> <?php $key+=$key; ?> <?php endforeach;?> <td><?php echo date('d/m/Y', strtotime( $usuario['created_at'])) ?></td> <td align="left"><a href="<?php echo base_url('UserAdmin/Usuario/getUsuarioById')."/".$usuario['id_user'] ?>">DETALHES</a></td> </tr> <?php endforeach ?> Onde estou errando? O que tenho de fazer para percorrer este array de modo a aparecer apenas as cidades pertencentes a cada usuário?

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.