tabla 1
-id
-fecha
-condicion
tabla 2
-id
-fecha
-condicion
algo asi:
Código HTML:
SELECT * FROM tabla1,tabla2 WHERE condicion='1' ORDER BY tabla1.fecha,tabla2.fecha
gracias de antemano!!!!!
| |||
ordenar por varios campos de tablas distintas Buenas!!!, quiero hacer una consulta que recoja los datos de dos tablas distintas ordenadas por su fecha. tabla 1 -id -fecha -condicion tabla 2 -id -fecha -condicion algo asi: Código HTML: SELECT * FROM tabla1,tabla2 WHERE condicion='1' ORDER BY tabla1.fecha,tabla2.fecha gracias de antemano!!!!! |
| |||
Respuesta: ordenar por varios campos de tablas distintas primero que nada, gracias por la respuesta. Lamento no tener suficnetes conocimientos sobre mysql y la verdad no tengo claro como hacer lo que dices, mira voy a poner la real para ver si me puedes hechar una mano: Has de saber tb, que las tablas tienen distintos campos, llamados de forma distinta por lo q no he usado UNION Código HTML: SELECT promoscantidad.id as ids,promociones.id as ids FROM promoscantidad,promociones ORDER BY promoscantidad.fecha , promociones.fch_entrada la idea es q dando igual q una sea de la tabla 1 o de la tabla 2 , me salgan ordenadas por su fecha. como tu dices la respuesta no es mas que las ids de la primera tabla 4 veces seguidas |
| ||||
Respuesta: ordenar por varios campos de tablas distintas La idea es básicamente simple: Si entre un registro de la tabla 1 y otro registro de la tabla 2 hay algún tipo de relación, como podría ser la de un producto con su fabricante, una de las dos tablas debe poseer entre sus columnas una que cuyo valor se corresponda con el ID del registro de la otra tabla con el cual tiene relación. Eso es lo que se denomina "clave foránea": Un campo o conjunto de campos cuyo valor depende de la clave primaria de otra tabla, a la que hace referencia. Esto normalmente se define en la creación de la tabla, de modo que no puedas insertar ningún registro en la tabla dependiente que no exista en la tabla referida (integridad referencial). Cuando existe ese tipo de vinculaciones la consulta que tu deseas hacer es muy sencilla de escribir:
Código MySQL:
Para que la consulta funcione se requiere que Tabla1 tenga un campo FK de la tabla2, que en este ejemplo estoy llamando "id_tabla2".Ver original ¿Se entiende la idea?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: ordenar por varios campos de tablas distintas Muchas gracias de nuevo , mmm voy a probar pero creo que no es lo que decia por que me he explicado fatal. Releyendo mis posts creo que no he sido del todo claro. Mientras pruebo, dejo esto mejor explicado , creo que, como me he epxlicado mal, has entendido otra cosa, a ver si esta vez logro explicarme mejor. Las tablas son de dos productos completamente distintos, con campos distintos. Tengo que mostrar todos los productos de las dos tablas listados por fecha de ingreso, en una sección de mi página. Da igual que uno sea un producto a y otro b, primero deberia salir el mas nuevo y luego lso siguientes mas nuevos independientemente de que tipo de producto sean. Las tablas no tienen ninguna relación, son de productos completamente distintos. Lo único que tienen similar es la fecha de entrada, por eso que decidí ordenarlas por fecha. Pero incluso el campo de fecha tienen nombre distinto en cada tabla, en una es fecha y en otra es fch_entrada Lo que seguro te lió es que puse ese WHERE en el primer post, pero es por que algún prodcuto puede estar caducado y ese no debo mostrarlo, por eso en el segundo post ya no puse el WHERE , por que esa parte no me da problemas es una simple comprobación de si los productos están caducados o no. Espero haberme esplicado mejor esta vez, voya probar lo que me has dicho y muchisimas gracias por interesarte por mi problema Última edición por molinillo; 02/06/2011 a las 15:43 |
| |||
Respuesta: ordenar por varios campos de tablas distintas me voy acercando con esto Código HTML: $sqll = "(SELECT promoscantidad.id as ids FROM promoscantidad) UNION (SELECT promociones.id as ids FROM promociones) ORDER BY 1"; |
| |||
Respuesta: ordenar por varios campos de tablas distintas y este ya es casi casi casi casi casi casi lo que queiro, el unico problemita es q si las fechas llegan a coincidir(cosa dificl por q lleban segundos pero q puede llegar a pasar) uno de los dos no se muestra. Así que mi duda quedaria así , como mejorar esta consulta: Código HTML: $sqll = "(SELECT turi_promoscantidad.id as ids, turi_promoscantidad.fecha as fch FROM turi_promoscantidad) UNION (SELECT turi_promociones.id as ids,turi_promociones.fch_entrada as fch FROM turi_promociones) ORDER BY 2"; |
Etiquetas: |