-
Conteúdo Similar
-
Por LuanMartinsTI
Tenho o seguinte problema, eu preciso dar um select em duas tabelas, ou ter dois selects tanto faz, eu fiz com inner join e com union all mas nao consigo ter o resultado que eu desejo
O problema é o seguinte> Pra saber quantos usuarios eu tenho em cada grupo eu preciso dar um select na membros grupo com o id do grupo, mas eu preciso mostrar apenas os 5 primeiros grupos com mais gente, eu nao tenho na tabela falando grupo 1 tem 50 membros, eu tenho 50 linhas com grupo 1 e id do usuario, como eu transformo isso no que eu quero? a unica forma q eu pensei é criar um campo novo em grupos e colocar la o resultado de rowCount, mas gostaria de saber se é possivel fazer sem, eu ja consigo mostrar quantos usuarios cada grupo tem, eu nao consigo mostrar é em ordem e nao é so dar o asc o problema é na logica provavelmente, mas se for possivel resolver isso com uma unica query ficarei grato
tabela 1
grupos( id nome dono created stat ) tabela 2
membros_grupo( id grupo_id user_id )
PHP
public function ultimosGrupos($limite){ try { $query = "SELECT * FROM groups ORDER BY id ASC LIMIT :limite"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':limite' , $limite, PDO::PARAM_INT); $this->Select->execute(); if($this->Select->rowCount() > 0){ return $this->Select->fetchAll(PDO::FETCH_ASSOC); }else{ return FALSE; } } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } } public function users_por_grupo($id){ try { $query = "SELECT * FROM group_memberships WHERE group_id = :id"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':id' , $id, PDO::PARAM_INT); $this->Select->execute(); return $this->Select->rowCount(); } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } }
-
Por edbarbosa
Ola a todos,
sou iniciante ainda em curso e estou com um problema que não acho ajuda em lugar algum.
adquiri uma tabela e inseri conteúdos manuais para consulta futuras, mas preciso adicionar um botão
que insere uma linha com os 9 conteúdos na tabela do meu arquivo e grave no mesmo para consultas futuras.
e que os botoes de deletar e editar já existentes façam suas funções.
segue:
<!doctype html> <html> <head> <title>tabela</title> <meta charset="utf-8" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script src="jquery.tablesorter.min.js"></script> <script src="jquery.tablesorter.pager.js"></script> <link rel="stylesheet" href="custom.css" media="screen" /> </head> <body> <h1>tabela</h1> <form method="post" action="exemplo.html" id="frm-filtro"> <p> <label for="pesquisar">Pesquisar</label> <input type="text" id="pesquisar" name="pesquisar" size="900" /> </p> </form> <table cellspacing="0" summary="Tabela de dados fictícios"> <thead> <tr> <th><input type="checkbox" value="1" id="marcar-todos" name="marcar-todos" /></th> <td>nome1</td> <td>nome2</td> <td>nome3</td> <td>nome4</td> <td>nome5</td> <td>nome6</td> <td>nome7</td> <td>nome8</td> <td>nome9</td> </tr> </thead> <tbody> <tr> <td><input type="checkbox" value="1" name="marcar[]" /></td> <td>texto1</td> <td>texto2</td> <td>texto</td> <td>texto3</td> <td>texto4</td> <td>texto5</td> <td>texto6</td> <td>texto7</td> <td>texto8</td> <td> <a href="#"><img src="edit.png" width="16" height="16" /></a> <a href="#"><img src="delete.png" width="16" height="16" /></a> </td> </tr> <tr> <td><input type="checkbox" value="2" name="marcar[]" /></td> <td>texto1</td> <td>texto2</td> <td>texto</td> <td>texto3</td> <td>texto4</td> <td>texto5</td> <td>texto6</td> <td>texto7</td> <td>texto8</td> <td> <a href="#"><img src="edit.png" width="16" height="16" /></a> <a href="#"><img src="delete.png" width="16" height="16" <!-- FINAL --> </tbody> </table> <div id="pager" class="pager"> <form> <span> Exibir <select class="pagesize"> <option selected="selected" value="900">900</option> <option value="50">50</option> <option value="30">30</option> <option value="10">10</option> </select> registros </span> <img src="first.png" class="first"/> <img src="prev.png" class="prev"/> <input type="text" class="pagedisplay"/> <img src="next.png" class="next"/> <img src="last.png" class="last"/> </form> </div> <script> $(function(){ $('table > tbody > tr:odd').addClass('odd'); $('table > tbody > tr').hover(function(){ $(this).toggleClass('hover'); }); $('#marcar-todos').click(function(){ $('table > tbody > tr > td > :checkbox') .attr('checked', $(this).is(':checked')) .trigger('change'); }); $('table > tbody > tr > td > :checkbox').bind('click change', function(){ var tr = $(this).parent().parent(); if($(this).is(':checked')) $(tr).addClass('selected'); else $(tr).removeClass('selected'); }); $('form').submit(function(e){ e.preventDefault(); }); $('#pesquisar').keydown(function(){ var encontrou = false; var termo = $(this).val().toLowerCase(); $('table > tbody > tr').each(function(){ $(this).find('td').each(function(){ if($(this).text().toLowerCase().indexOf(termo) > -1) encontrou = true; }); if(!encontrou) $(this).hide(); else $(this).show(); encontrou = false; }); }); $("table") .tablesorter({ dateFormat: 'uk', headers: { 0: { sorter: false }, 5: { sorter: false } } }) .tablesorterPager({container: $("#pager")}) .bind('sortEnd', function(){ $('table > tbody > tr').removeClass('odd'); $('table > tbody > tr:odd').addClass('odd'); }); }); </script> </body> </html> lembrando que peguei esse script do GitHub: https://github.com/tableless/exemplos/tree/gh-pages/melhorando-exibicao-tabelas-jquery
todos os arquivos estão disponíveis neste link
obrigado!
-
Por Fabiana Gomes
Pessoal, boa noite
Preciso de um help!!
Tenho a tabela ENDERECO e na coluna LOUGRADOURO (40) preciso diminuir alguns endereços para 30 caracteres.
Basicamente preciso cortar a partir da casa 30.
Alguem pode me ajudar?
-
Por Lucast
Boa tarde galera,
Estou tentando fazer a soma de duas colunas no SQL e queria que ela me retornasse o valor separado em uma coluna a parte, podem me ajudar?
Isso é o que estou fazendo
SELECT MONTH(workOrderDate) AS MES, (SUM(CASE WHEN WorkType = '02' AND workOrderDescription = 'preventiva' THEN 1.0 ELSE 0 END)) AS preventiva, (SUM(CASE WHEN workOrderDescription = 'CORRETIVA' THEN 1 ELSE 0 END)) AS corretivas FROM WorkOrder WHERE YEAR(workOrderDate) = 2018 AND lastUpdateData IS NOT NULL GROUP BY MONTH(workOrderDate);
Esse resultado me retorna esses valores:
https://imgur.com/5XqbmFX
Preciso que ele me retorne uma coluna ao lado informando a soma de ambas as colunas.
Alguém consegue me ajudar?
-
Por eduardohaag
Boa noite pessoal,
Esbarrei em um novo problema com consultas no meu sistema.
Tenho um formulário no sistema que deverá apresentar todos os materiais utilizados em uma determinada Venda e seus respectivos estoques obtidos através da soma das entradas e saidas do estoque.
Para isso devo buscar os dados em 3 tabelas do banco de dados sendo elas VendasProdutos, Composicao, Materiais e Estoque
Eis que surge meu problema, como posso ter vários produtos na venda e alguns produtos usam os mesmos materiais, a consulta está retornando com os materiais duplicados, quando o que eu gostaria era que somasse de acordo com cada material.
A query que estou usando para teste no acesso é a seguinte:
SELECT Composicao.IdMaterial, materiais.descricao, Sum(Estoque.Quantidade) AS Estoque, [VendasProdutos]![Quantidade]*[Composicao]![Quantidade] AS TotalUtilizado FROM (VendasProdutos LEFT JOIN (materiais RIGHT JOIN Composicao ON materiais.ID = Composicao.IdMaterial) ON VendasProdutos.IdProduto = Composicao.IdProduto) LEFT JOIN Estoque ON materiais.ID = Estoque.IdMaterial GROUP BY Composicao.IdMaterial, materiais.descricao, [VendasProdutos]![Quantidade]*[Composicao]![Quantidade], VendasProdutos.IdVenda HAVING (((VendasProdutos.IdVenda)=1));
A consulta está retornando os dados dessa forma:
E eu gostaria de que agrupasse por ex:
ID Descricao Estoque TotalUtilizado
1 Capa Agenda 34 10
2 Miolo Agenda 27 5
Alguem Sabe como posso fazer isso?
Desulpem pelo post gigante, mas não sabia como explicar melhor.
-