![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Creo que lo estas enfocando mal, para hacer lo que quieres te basta hacer un left join o un inner join. Si no entiendo mal quieres mostrar una lista de enlaces junto con el usuario que creo cada enlace. Asi que con algo como:
Código:
SELECT url,titulo,fecha,usuarios.login FROM enlaces LEFT JOIN usuarios ON enlaces.id_usuario = usuarios.id_usuario Pillate un manual de sql y mirate los distintos tipos de JOINS que existen y en que casos se usan. Saludos |
|
#2
|
||||
|
||||
|
Hola,
Bueno. El objetivo de que no se retornen enlaces duplicados sí que parece que puedo conseguirlo de este modo:
Pero, la consulta no cumple con mis espectativas (otra cosa será que estas sean disparatadas, que pueden serlo). No obtengo con dicha consulta el "login" del usuario (de la tabla "usuarios"), y, en cuanto trato de hacerlo:
La consulta retorna el "login", pero, también enlaces duplicados... Bueno. En todo caso muchas gracias por responder Mick. Es muy posible que leyendo sobre lo que dices pudiera pensar de otro modo el problema. Última edición por dec fecha: 21-07-2006 a las 05:01:44. |
|
#3
|
||||
|
||||
|
Hola,
Definitivamente tengo mucho que aprender de MySQL y de SQL en general como para ponerme a hacer mis pinitos como estoy intentando. Por las pruebas que he hecho me parece que el planteamiento del problema no es correcto. Porque cuando digo que la consulta devuelve registros duplicados (que es lo que trato de evitar) estoy faltando a la realidad. Lo que a mí me parecían registros duplicados en realidad no lo son: y no lo son porque DISTINCT funciona, claro está. Supuesta esta consulta:
No sé porqué tendía a pensar que los registros que obtenía eran duplicados, cuando no es así. Me explicaré de una vez. En la base de datos en que estoy probando todo esto existen tres usuarios. Cada usuario tiene seis enlaces, pero, y aquí está el meollo, son enlaces repetidos, que a modo de prueba inserté en la base de datos. Así que, el resultado de la anterior consulta podría ser este: Código:
login ---------------- url betatester1 ---------- http://www.google.com/ betatester1 ---------- http://www.clubdelphi.com/ betatester2 ---------- http://www.google.com/ betatester2 ---------- http://www.clubdelphi.com/ No sé. Debería pensar en dedicarme a otra cosa, qué sé yo, a la pesca del cangrejo hermitaño, con todos mis respetos para el cangrejo hermitaño, que no me lo pondrá fácil además. Ahora mismo dudo, simplemente. ¿Se supone que no debo dejar ingresar en la base de datos los mismos enlaces por distintos usuarios? ¿Pero no es esto absurdo? Acaso podría mirarse porque un usuario no duplicara un enlace previamente insertado por el mismo, pero, ¿porqué no va a poder insertar un enlace que ya hubiera insertado otro usuario? Son usuarios distintos... se supone que para algo, y, entre otras cosas, para mantener dos apartados distintos en la aplicación Web, con la posibilidad de añadir enlaces, sus enlaces, con independencia de los otros usuarios... Me estoy liando. Me voy por las ramas porque veo que ando más perdido y ofuscado que un pulpo en un garaje, como suele decirse. Lo mismo tengo que replantearme (o mejor dicho, plantearme por primera vez) menos a la ligera las tablas que han de componer la aplicación, sus correspondientes campos y relaciones con otras tablas, etc., etc., etc. |
|
#5
|
||||
|
||||
|
Hola,
Gracias Emilio. Lo que pasa es que ahora no doy pie con bola. En realidad el problema hizo que iniciara este Hilo ya no es tal, ahora es otro, después de otros,... o sea, que te agradezco la respuesta, pero, me temo que mis problemas no terminan en la consulta SQL, sino que casi podría decirse que empiezan ahí... Tendré que leer sobre el tema y/o plantearme el proyecto que traigo entre manos de otra forma, desde un principio. Gracias igualmente. ![]() |
|
#6
|
||||
|
||||
|
Hola,
Hoy he retomado el tema que se planteó al comienzo de este Hilo y me alegro de haberlo hecho, pues he visto que la consulta SQL que propone Emilio funciona bien y podría servirme para evitar enlaces "duplicados" en el listado de enlaces compartidos de cierta página Web de cuyo nombre no quiero acordarme. ![]() El caso es que estoy probando el "GROUP BY" y la cosa parece ir regularmente bien (tengo problemas con ciertas URLs, que parecen no tomarse como "iguales", aunque en realidad sí lo son... debe ser cuestión de las URLs, porque, se distingen de las que funcionan en que las que no tienen más caracteres y algunos caracteres como "&" y "?", por ejemplo. Una cosa que quería preguntar... resulta que pruebo con una consulta SQL tal que así:
Y la cosa va más o menos como se espera (por el momento parece ir razonablemente bien con las pruebas que hemos hecho), pero, si la consulta se queda en esto:
O sea, si se quita el "DISTINCT" a la consulta SQL... se obtienen los mismos resultados... parece que la "magia" la hace el "GROUP BY" y, entonces, el "DISTINCT", ¿está demás? ¿sobraría? ¿cómo lo veis vosotros? En todo caso muchas gracias a todos por la ayuda, y en especial a Emilio, que, habiéndome acercado a la solución, le respondí diciéndole que sí, pero, que no, en fin... cosas... ¡Gracias de nuevo a todos! ![]() |
|
#7
|
||||
|
||||
|
Cita:
donde se agrupan los registros por categoría y de cada grupo se calcula la suma de costos y es lo que se "imprime" junto a la categoría. Pero en una consulta como la que pones, se agrupa por URL y luego ¿qué se hace con cada grupo? ¿Cómo aparece el campo login en el conjunto de resultados? Vamos, si tengo la tabla Código:
+---------+--------------------------+ | usuario | url | +---------+--------------------------+ | pepe |http://www.clubdelphi.com | | juan |http://www.clubdelphi.com | | maria |http://romansg.net | | roman |http://romansg.net | | roman |http://www.clubdelphi.com | | maria |http://www.clubdelphi.com | +---------+--------------------------+ // Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cual es la Forma Correcta de Guardar Texto en un IbDataset con TcpServer???? | AGAG4 | Varios | 0 | 10-12-2004 22:14:41 |
| Forma correcta de emigrar base de datos.. | ronimaxh | Firebird e Interbase | 5 | 07-04-2004 23:34:38 |
| existe una forma visual para crera tablas y consultas en interbase? | viajero2015 | Firebird e Interbase | 4 | 21-02-2004 22:58:36 |
| DISTINCT con query | Robert | Tablas planas | 15 | 03-11-2003 15:53:38 |
| Como pasar parametros de una forma hija a otra forma hija | luisreg | OOP | 3 | 17-09-2003 18:18:50 |
|