Jump to content
Biel.

(unir e deixar) tabelas na ordem DESC

Recommended Posts

Olá pessoal. Direto ao ponto. Pessoal quero (UNIR e DEIXAR) as duas tabelas abaixo na ordem decrescente (DESC)

tab_aluno

id_aluno  letras   
1         aaa                
2         bbb
3         ccc
---------------------
tab_aprendiz

id_aprendiz  nome   
1            pedro                
2            joao
3            jose

...

<?php 
// tentei assim e não deu certo
$sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno,id_aprendiz DESC   ");  

// // tentei assim e também não deu certo
$sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno DESC , id_aprendiz DESC   ");  
?>


<?php  
$sql = mysqli_query($con, "SELECT * FROM tab_aluno ORDER BY id_aluno DESC  ");

$sql = mysqli_query($con, "SELECT * FROM tab_aprendiz ORDER BY id_aprendiz DESC  "); 
?>

 

Share this post


Link to post
Share on other sites

Existe alguma relação entre as tabelas? Alguma foreign key?

Share this post


Link to post
Share on other sites
12 horas atrás, ShadowDLL disse:

Existe alguma relação entre as tabelas? Alguma foreign key?

Olá ShadowDLL. Não existe relação entre as tabelas. Estou tentanto (UNIR e DEIXAR) id_aluno e id_aprendiz na ordem decrescente (DESC)

 

Tentei assim e não deu certo.

<?php
$sql = mysqli_query($con, "SELECT * FROM tab_aluno INNER JOIN tab_aprendiz ORDER BY id_aluno DESC , id_aprendiz DESC   ");
while($linha = mysqli_fetch_array($sql) ){ 
$id_aluno    = $linha ['id_aluno'];  
$id_aprendiz = $linha ['id_aprendiz']; 
//echo $id_aluno.'-'.$id_aprendiz.'<br/>';
}
?>
<?php echo $id_aluno.'-'.$id_aprendiz.'<br/>'; ?>  

 

 

Share this post


Link to post
Share on other sites

Segue exemplos:

 

SQL - EXEMPLO 1

SELECT
	*
FROM (
	SELECT	
		id_aluno, letras, NULL "id_aprendiz", NULL "nome"
	FROM tab_aluno
	
	UNION ALL
	
	SELECT
		"", "", id_aprendiz, nome
	FROM tab_aprendiz
) T
ORDER BY
	id_aluno, id_aprendiz DESC;

 

RESULTADO

image.png.40bc0560ddaa8c535ddbc8f558bfd543.png

 

# =================

 

SQL - EXEMPLO 2

SELECT
	*
FROM (
	SELECT	
		id_aluno AS "ID", letras AS "Letra_Nome"
	FROM tab_aluno
	
	UNION ALL
	
	SELECT
		id_aprendiz AS "ID", nome AS "Letra_Nome"
	FROM tab_aprendiz
) T
ORDER BY
	ID DESC;

 

RESULTADO

image.png.7a029c0b12f1b832823e1a9275688d1b.png

 

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 Biel.
      Olá pessoal. Direto ao ponto. Pessoal No banco de dados mysql, varchar máximo 255 caracteres.  Gostaria de saber se o sistema fica lento deixando varchar com mais caracteres que o necessário. Tipo
      no campo nome  vou digitar no máximo 50 caracteres, mas quero varchar com 255
      no campo telefone  vou digitar no máximo 20 caracteres,  mas quero varchar com 255
      no campo email vou digitar no máximo 30 caracteres,  mas quero varchar com 255
      no campo end  vou digitar no máximo 40 caracteres,  mas quero varchar com 255
       
      Tem algum problema? o sistema vai ficar lento com muitos dados ou não tem nenhum problema em usar varchar com 255 pra todos os campos? Obrigado.
    • By Biel.
      Olá pessoal. Direto ao ponto. Na query onde está a tab_aprendiz, quero colocar a tab_aluno para cadastrar os mesmos dados nas duas tabelas ao mesmo tempo. Gostaria de um exemplo prático pessoal. Como faço? Obrigado!
       
      tab_aprendiz nome email tab_aluno nome email ....
      <?php $sql = mysqli_query($con, "INSERT INTO tab_aprendiz( nome, email ) VALUES( '".$nome."', '".$email."' ) "); ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto. Na query onde está a tab_aprendiz, quero colocar a tab_aluno para cadastrar os mesmos dados nas duas tabelas ao mesmo tempo. Como faço? Obrigado!
      tab_aprendiz id nome email tab_aluno id nome email ...
      <?php $sql = mysqli_query($con, "INSERT INTO tab_aprendiz( nome, email ) VALUES( '".$nome."', '".$email."' ) "); ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto. O código abaixo está funcionando normalmente. Só não tem um valor mínimo e máximo a ser digitado
      Gostaria que tivesse um valor minimo de 3 e máximo de 7 números. Como Faço? Obrigado.
       
      Máscara Javascript moeda R$
      <script language="javascript"> function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13 || whichCode == 8) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; } </script> valor R$: <input type="text" name="valor" required onKeyPress="return(MascaraMoeda(this,'.',',',event))">  
    • By Biel.
      Direto ao ponto. Pessoal abaixo temos 
      Ex1 que imprime A,B,C,D
      Ex2 que imprime A,B,C,D,A
      No EX2 letra A está se repetindo. Gostaria que não se repetisse. Pensei em duas possibilidades:

      a 1º possibilidade é ignorar que existe no array duas letras A , ou seja não importa quantas letras A tenha no array, será exibido apenas uma letra A
      a 2º possibilidade é criar uma regra if, else e se porventura for adicionado no array dados iguais a regra if else vai impedir que isso ocorra.
      Pessoal não sei por onde começar, mas acredito que a idéia sugerida pode ser válida para que a tarefa seja resolvida. Obrigado.
      ...
      Ex1
      <?php $dados = array("A" , "B" , "C" , "D" ); shuffle($dados); for($a = 0; $a <count($dados); $a++){ $exibe = $dados[$a].' <br> '; echo ($exibe); } ?> Ex2
      <?php $dados = array("A" , "B" , "C" , "D" "A" ); shuffle($dados); for($a = 0; $a <count($dados); $a++){ $exibe = $dados[$a].' <br> '; echo ($exibe); } ?>  
×

Important Information

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