Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

filtro en sql

Estas en el tema de filtro en sql en el foro de Mysql en Foros del Web. Hola gente. Nose como explicarme.Lo intentare lo mejor posible. Tengo una web en php y mysql, donde en una tabla llamada categories_description tengo unas categorias ...
  #1 (permalink)  
Antiguo 17/03/2009, 05:52
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
filtro en sql

Hola gente.
Nose como explicarme.Lo intentare lo mejor posible.

Tengo una web en php y mysql, donde en una tabla llamada categories_description tengo unas categorias y subcategorias, con su id cada una; y en otra llamada tallajes tengo un campo con el mismo nombre del id de las categorias,y los mismos numeros me curre al ponerlos, y tambien un campo de tallas que quiero asociar a los ids de las categorias; es decir:(ejemplo) cuando la categoria con id 34 sea seleccionada,muestra todas las tallas, con id 34.

En sql hice esto:
Código:
SELECT tallajes.talla, tallajes.categories_id, categories_description.categories_id
FROM tallajes, categories_description
WHERE  tallajes.categories_id = categories_description.categories_id
Pero no me sale bien.

Quizas se tendria que hacer por php. Pero no me sale; porque si pongo.

Código PHP:
while (tallajes.categories_id categories_description.categories_id)
{
tallajes.categories_id
eSTO diria que si estos dos fueran iguales que muestre los tallajes (pensando que los valores ya estubieran asociados a unas variables.) ; asi me mostraria todas las tallas, no solo las que se seleccionen.

No se si me explique bien, espero que me ayuden, por que tengo un kakao mental.

Gracias anticipadas, y si algo no se entiende,decirlo,y lo expliko mejor.
Saludos.
aNti_toT.
  #2 (permalink)  
Antiguo 17/03/2009, 19:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: filtro en sql

Si la tabla tallajes contiene el ID de la tabla categories_description, lo más simple sería usar INNER JOIN:
Código SQL:
Ver original
  1. SELECT
  2.     t.talla,
  3.     categories_id
  4. FROM tallajes t INNER JOIN categories_description c USING(categories_id);
En esta forma, sólo mostrará los registros donde el valor del campo categories_id sea el mismo en ambas tablas.

Notas:
1. Procura usar alias en los SELECT cuando tienes nombres de tablas tan largos. Estos tienden a producir errores de tipeo.
2. Usar JOIN o su sinónimo, la coma (,) es riesgoso, puesto que MySQL tratará de igualar entre sí todos los campos de ambas tablas que tengan el mismo nombre. Imagínate que tienes campos DESCRIPCION en ambas, pero que contienen datos diferentes. El JOIN daría un resultado nulo.
3. El INNER JOIN anula la necesidad de que aparezcan dos veces los campos (uno de cada tabla) que se usan de nexo. Por eso no lo he incluido.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:45.