Jump to content
Fórum Script Brasil
  • 0

selecionando registros específicos


Guest Visitante

Question

Guest Visitante

como seleciono todos os registros de uma tabela, que possuem, no campo A, mais de uma ocorrência ?

A B

----- -------

abc aaa

def cccc

123 dddd

abc aajj

456 aaa

def ddd

resultado:

abc aaa

def cccc

abc aajj

def ddd

obrigado !

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
como seleciono todos os registros de uma tabela, que possuem, no campo A, mais de uma ocorrência ?

A B

----- -------

abc aaa

def cccc

123 dddd

abc aajj

456 aaa

def ddd

resultado:

abc aaa

def cccc

abc aajj

def ddd

obrigado !

Oi, Visitante!

Não lembro agora se o MySQL aceita este tipo que vou falar. Se não aceitar verifique a opção 2 que forneço abaixo, ainda nesta resposta.

Opção 1

SELECT a, b 
FROM tabela WHERE a IN (SELECT a 
                   FROM tabela GROUP BY a
                   HAVING COUNT(a) > 1 );
A Opção 2 abaixo prevê alguns passos: 1 Criação de uma tabela temporária;
CREATE TEMPORARY TABLE temp (
a CHAR(3), 
qt int,
PRIMARY (a)
);
2 Inclusão de registros na tabela temporária;
INSERT INTO temp (a, qt)
SELECT a, COUNT(a) AS qt FROM tabela GROUP BY a
HAVING qt > 1;
3 Sua consulta propria mente dita (neste caso usando um join com a tabela temporária) e,
SELECT t.a, t.b FROM tabela t
INNER JOIN temp tm ON t.a = tm.a;
4 destruição da tabela temporária.
DROP TABLE temp;

att

Denis Courcy

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...