PHP - Gracias!!por lo del SELECT, pero tengo una mas ...

 
Vista:

Gracias!!por lo del SELECT, pero tengo una mas ...

Publicado por Jorge Alberto (77 intervenciones) el 15/02/2005 00:01:08
tengo una tabla con un campo que se repite el registro una y otra ves, necesito saber ¿que por que no me asepta la sentencia DISTINCT? en el SQL que he creado, osea lo he hecho asi:

<?
$conexion = odbc_connect("base","","","");
$rs= odbc_exec($conexion,"select * from asignaciones");
$sql="select distinct * from asignaciones where cod_maes='$codigo'";
$rs=odbc_exec($conexion,$sql);
echo "<select name=materias>";
while(odbc_fetch_row($rs))
{
echo "<option>".odbc_result($rs,"materia")."</option>";
}
echo "</select>";
odbc_close_all();
?>

Me repite los registros ya existen mas de dos veces, y lo que quiero es que me muestre solamente uno de cada uno de los que se encuentran dentro de ese campo.

¿Me pueden seguir ayudando?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Usa "Group by"

Publicado por ile (61 intervenciones) el 15/02/2005 09:17:27
Hola, el DISTINCT se aplica a UN solo campo, por lo que tu consulta no es válida ya que el * te representa a todos los campos. Sí te serviría si sólo quisieras extraer el campo por el cual haces el DISTINCT.

El DISTINCT es conciderado "como" un GROUP BY, así que para hacer lo que tu quieres es mejor usar este último de la forma "SELECT * FROM <tbl> WHERE <condicion> GROUP BY <att_repetido>"

Espero que esto te sirva,
saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar