Jump to content
TheRonaldoStar

Uma pergunta simples sobre agrupamentos!

Recommended Posts

Oi, mais cedo eu fiz um post aqui no site mas um pouco longo creio eu que e mais fácio eu fazer uma pergunta mais direta.

A pergunta é:

Como posso fazer agrupamentos de uma tabela através de dois campos cujo os valores são =, mesmo que esteja invertidos?

EX: [DE = "1"], [PARA = "2"].

E fazer o agrupamento ou só mostrar o ultimo cadastro mesmo que eles estejam invertidos desta forma?

EX: [DE = "2"], [PARA = "1"].

 

Acho que agora com este post fui mais claro, Alguém pode me ajudar por favor??.

Atenciosamente,

~Ronaldo

Share this post


Link to post
Share on other sites

Segue exemplo:

 

SQLs A SEREM UTILIZADAS

CREATE TABLE clients (
	idClient INT NOT NULL AUTO_INCREMENT,
	email VARCHAR(254) NOT NULL,
	PRIMARY KEY(idClient)
);
INSERT INTO clients ( email ) VALUES
('tiuzuck@zuck.com'),
('tiubill@bill.com'),
('hacker@hacker.com');


CREATE TABLE messages (
	idMessage INT NOT NULL AUTO_INCREMENT,
	idBy INT NOT NULL,
	idTo INT NOT NULL,
	message LONGTEXT NOT NULL,
	PRIMARY KEY (idMessage),
	FOREIGN KEY ( idBy ) REFERENCES clients ( idClient ),
	FOREIGN KEY ( idTo ) REFERENCES clients ( idClient )
);
INSERT INTO messages ( idBy, idTo, message ) VALUES
(2, 1, 'Toc Toc'),
(1, 2, 'Quem é?'),
(2, 1, 'Tiu Zuck!'),
(1, 2, 'Que Zuck?'),
(2, 1, 'Zucka Berg KAKAKAKAKA'),
(1, 3, 'Hackeia o Bill' );

 

QUERY

SELECT
	m.idMessage,
	c2.email AS 'by',
	c1.email AS 'to',
	m.message
FROM
	messages m
INNER JOIN
	clients c1
ON
	( m.idBy = c1.idClient )
INNER JOIN
	clients c2
ON
	( m.idTo = c2.idClient )
WHERE
	m.idBy IN ( 1, 2 ) AND
	m.idTo IN ( 1, 2 )

 

RESULTADO

image.png.4366ba7de9d0a7684aa91552904355af.png

Share this post


Link to post
Share on other sites

Pode parecer piada mas eu não intendi quase nada do que você mandou, você poderia me ajudar em call por discord?

Se sim meu nik é: TheKingOfStar ou facebook: @RonaldoCEO, caso não poderia mandar  sobre como estas duas tabelas esta se comunicando e como vou obter os dados dela no while ??

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By thgsousa3122
      <?php $url = 'www.site.com'; $dadosSite = file_get_contents($url); echo $dadosSite; ?> <script type="text/javascript"> window.onload = function(){ var x = document.getElementsByClassName("fraction")[0].innerHTML= "100"; } </script> Glr tenho esse codigo, eu queria alterar o conteudo que tem como classe "fraction", porem ele nao da resposta, alguem tem alguma sujestão?
    • By brunoogm
      Pessoal, vou iniciar um desenvolvimento mobile usando Xamarin
      e gostaria de saber se alguém conhece alguma maneira
      ou tenha algum doc. de como utilizar PHP e MySql (e se necessário Json)
      para realizar um CRUD e a partir daí eu poder me entender com a plataforma...
       
      Desde já obrigado.
       
       
    • By drx
      Olá pessoal!
       
      Me tirem uma dúvida. Já desenvolvo com vb6 já faz algum tempo. E também venho incrementando o conhecimento para desenvolver para web com php e por aí vai.
      A pergunta que não quer calar: Com o VS.NET eu desenvolvo para desktop e web ?
      Por que a pergunta? Porque quero investir tempo em um IDE que me atenda as duas coisas.
      Aguardo
    • By eduardaarosaa
      Eu estou fazendo um sistema com multipolos uploads de aquivos.
       
      Aqui ele está movendo o arquivo para pasta upload: 
       $upload = $request->image[$i]->storeAs('upload', $nameFile);
      Ao dar var_dump nesta variável ela retorna: 
       
       string(38) "upload/172118201908225d5ef93e4d803.png" string(38) "upload/172118201908225d5ef93e4f9b2.png" string(38) "upload/172118201908225d5ef93e50899.png" string(38) "upload/172118201908225d5ef93e51b72.png"
       
      São os 4 arquivos que deram upload, porém está em string e eu queria usar em array para separar em variáveis e adicionar no banco. 
       
      Use o explode assim: 
      $array = explode(",", $upload);
      Então ele retornou vários arrays com o mesmo indice: 
       
      array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba3cf15.png" } array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba3edab.png" } array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba3fbcc.png" } array(1) { [0]=> string(38) "upload/172322201908225d5ef9ba4163a.png" }
       
      Como faço para poder separar esses arrays? Ou mudar os índices? Se alguém souber .. 
      Obrigada!!!
       
    • By gabrielslessa
      Olá amigos, estou com uma dúvida, não estou conseguindo gravar os dados contidos numa sessão no bd mysql com conexão PDO. Tenho uma sessão onde estão todos os produtos do carrinho de compras em php, como faço para gravar esses itens separadamente no bd? Obrigado desde já!
       
      código onde está gravando no bd (primeiro grava os dados do post e depois grava os dados da sessao:
       
      //gravando no bd $this->db->insert('as_pedidos', array( "user_id" => $userId, "ped_rua" => $ped_rua, "ped_numero" => $ped_numero, "ped_cep" => $ped_cep, "ped_bairro" => $ped_bairro, "ped_vtotal" => $ped_vtotal, "ped_frete" => $ped_frete, "ped_distance" => $ped_distance, "ped_forma_pg" => $forma_pagProtect, "ped_comentario" => obsProtect, "ped_vtroco" => $trocoProtect, "ped_acresc_cred" => $acresc_credProtect, "ped_op_cred" => $opProtect, "ped_hora" => date('Y-m-d H:i:s') )); $ped_id = $this->db->lastInsertId(); foreach($_SESSION["products"] as $dado => $value) : NÃO ESTOU CONSEGUINDO A PARTIR DAQUI.... //gravando no bd $this->db->insert('as_ped_itens', array( "id_prod" => $product['id'], "qtd" => $product['product_qty'], "nome_prod" => $product['nome'], "valor" => $product['preco'], "id_ped" => $ped_id )); endforeach;  
       
       
      Código onde grava os dados na sessão ($_SESSION["products"]):
       
      setlocale(LC_MONETARY,"pt_BR"); # add products in cart if(isset($_POST["id"])) { foreach($_POST as $key => $value) : $product[$key] = filter_var($value, FILTER_SANITIZE_STRING); endforeach; $id = preg_replace( '/[^0-9]/is', '', $product['id'] ); $product_qty = preg_replace( '/[^0-9]/is', '', $_POST["product_qty"] ); $statement = app('db')->prepare("SELECT as_produtos.nome, as_produtos.preco, as_produtos.acresc FROM as_produtos WHERE id = :id LIMIT 1"); $statement->bindParam(':id', $id, PDO::PARAM_INT); $statement->execute(); foreach($statement as $dados_produto) : $product["product_name"] = $dados_produto["nome"]; $product["product_price"] = $dados_produto["preco"]; $product["product_acresc"] = $dados_produto["acresc"]; if(isset($product["product_name"])){ if(isset($_SESSION["products"][$id])) { $_SESSION["products"][$id]["product_qty"] = $_SESSION["products"][$id]["product_qty"] + $_POST["product_qty"]; } else { $_SESSION["products"][$id] = $product; } } else { $_SESSION["products"][$id] = $product; } endforeach; //exibindo o total de itens $total_product = array_sum(array_column($_SESSION['products'], 'product_qty')); //exibindo o total de produtos //$total_product = count($_SESSION["products"]); die(json_encode(array('products'=>$total_product))); }  
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.