Hola de nuevo:)
 
Gracias por responder anayazti. 
Sí, eso es.  
Digamos que la tabla podría ser así: 
Transacción Nombre Contraseña id
compra             Juan      4545as   1
compra             Pedro    were54   2
compra            José      yo12        3
alquiler             Juan      silla2       4
alquiler            Juan      silla2        5
alquiler            Juan      4545as     6
compra            Eva        tren44     7
venta
..
O sea que cada tipo tipo de transacción puede ser realizada por la misma persona y por otras personas que se llamen igual.
No quiero recoger las transacciones, sólo los nombres de las personas que realizaron un determinado tipo de transacción, pero que solo aparezca una vez el nombre de cada persona.
Es decir, si hago esto: 
 Código PHP:
    $conexion=mysql_connect..
..
$registros=mysql_query("SELECT DISTINCT  nombre FROM tabla WHERE transaccion='venta'",$conexion)or
die("Problems with select:".mysql_error());
 
while($reg=mysql_fetch_array($registros))
{ 
    
  , pues me saldría solo una vez cada nombre, aunque fueran varias personas.
Si no pongo el DISTINCT me saldrían todos los nombre aunque algunos correspondieran a la misma persona.
Luego pensé en hacer esto: 
 Código PHP:
    $conexion=mysql_connect..
...
$registros=mysql_query("SELECT  DISTINCT contraseña  FROM tabla WHERE transaccion='ventas'",$conexion)or
die("Problems with select:".mysql_error());
 
while($reg=mysql_fetch_array($registros))
{
$contraseña=$reg['contraseña'];
$conexion2=mysql_connect..
...
$registros=mysql_query("SELECT  nombre  FROM tabla WHERE contraseña='$contraseña'",$conexion)or
die("Problems with select:".mysql_error());
if($reg=mysql_fetch_array($registros))
{
$name=$reg['name'];
echo "$name";
}
} 
    
  Esta última manera me parece lógica, pero sólo me devuelve un valor( a pesar de haber más).
Gracias de nuevo, un saludo!