Comunidad de diseño web y desarrollo en internet online

Como hacer esta consulta

Citar            
MensajeEscrito el 20 Nov 2009 12:08 pm
si tengo esta tabla

id nombre
1 pepe
2 antonio
3 pepe

como hago la consulta para obtener este resultado, y que me muestr el id y el nombre

id nombre
1 pepe
2 anotnio

....

en el resultado de arriba me da igual que muestre 1 pepe o 3 pepe.

llevo dias con esto y no doy co la solucion, es impsible

SAludos

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Nov 2009 02:26 pm
quieres saber como hacer la consulta o como manejar los datos que devuelve?
muestra el código que estas utilizando

Por chug0

Claber

136 de clabLevel



 

Perú

firefox
Citar            
MensajeEscrito el 23 Nov 2009 08:39 am
quiero saber como hacer la consulta, simplemente.

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Nov 2009 02:14 pm
SELECT id,nombre FROM nombre_tabla

Por chug0

Claber

136 de clabLevel



 

Perú

firefox
Citar            
MensajeEscrito el 23 Nov 2009 02:17 pm
Aunque ya había visto esta pregunta, la respuesta me pareció tan obvia que supuse que debe haber otra cosa que no nos has dicho pero con lo que acabas de decir me temo que me sigue pareciendo de lo más obvia.

SELECT id, pepe FROM tabla;

Eso es todo :S.

¿No será que quieres devolver todos los registros sin repetidos?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 Nov 2009 04:34 pm
vamos a ver fijaros bien en el resultado qu quiero obtener

id nombre
1 pepe
2 antonio
3 pepe

si hago lo que me decis sale esto

SELECT id, pepe FROM tabla;

1 pepe
2 antonio
3 pepe

pero lo que yo quiero es esete resultdo

2 antonio
3 pepe

es decir que no me repita el nombre pero que me muestre le id, el problema que tengo esque en cuadto quiero mostrar el id como siempre es distinto pues me repite el nombre,

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Nov 2009 12:20 am
Lo sabía...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Nov 2009 12:30 am
SELECT id, nombre FROM tabla GROUP BY nombre.

Por chug0

Claber

136 de clabLevel



 

Perú

firefox
Citar            
MensajeEscrito el 24 Nov 2009 04:18 am
Es más eficiente y prolijo en ese caso solo hacer:

Código PHP :

SELECT * FROM `nombre_tabla` WHERE 1 GROUP BY `nombre`

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 24 Nov 2009 08:13 am
chug0 tu consulta no funciona porque me obliga a poner el id en el group by.

Hernán tu consulta tampoco me vale, me da el mismo error que la de chug0.

muxas gracias por vuestra ayuda. alguien puede darme otra solucion?

Saludos

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Nov 2009 08:23 am
¿Que te obliga a que? Por favor, se más específico...

Te explico lo que debería hacer mi consulta: Llamo a toda la DB, y la agrupo por coincidencias sobre el row "nombre". ¿Que necesitas además de eso?

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 24 Nov 2009 09:54 am
vamos a ver si yo pongo el id y el nombre en el select luego le tengo que pasar por el group by esos dos campos, y en tu consulta solo pasas el nombre por eso me da error. pero aun asi aunque le pase los dos tampoco funciona.

lo que yo quiero es este resultdo, que me muestre los dos campos pero sin repetir el nombre.

2 antonio
3 pepe

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Nov 2009 01:09 pm
hola Hernán, iluminame por favor, que hace el WHERE 1?

Código :

 SELECT * FROM `nombre_tabla` WHERE 1 GROUP BY `nombre`


lusifer:
No entiendo por que pones los 2 campos en en el group by, pon solo nombre ó en todo caso copia el error que te sale.

Por chug0

Claber

136 de clabLevel



 

Perú

firefox
Citar            
MensajeEscrito el 24 Nov 2009 02:17 pm
este es el error
ha intentado ejecutar una consulta que no incluye la expresion especifica id como parte de una funcion de agrgado.

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Nov 2009 04:29 pm
La consulta de Hernan es para MySQL. Creo que tu estas usando es PostgreSQL, si es así, esta funciona:

Código MySQL :

SELECT  DISTINCT ON (nombre) id, nombre  FROM  tabla;


Para la próxima especifica el motor de base de datos, cuando no lo especificas todos asumimos que es MySQL.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 Nov 2009 05:01 pm
tu consulta tampoco me funciona, estoy utilizando una base de datos en acces con extension mdb

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Nov 2009 05:29 pm

chug0 escribió:

hola Hernán, iluminame por favor, que hace el WHERE 1?

Código :

 SELECT * FROM `nombre_tabla` WHERE 1 GROUP BY `nombre`


jajaja Siempre me olvido de que a los demás no les gusta usar esa nomenclatura, F ya me burló por mi desorden compulsivo al crear consultas.

WHERE 1, es una redundancia en realidad, lo pongo solo porque me gusta que mis consultas queden "completas", no se porque me ayuda a verlas siempre con el mismo método. Solo un raye mio, de hecho hubiera puesto también ORDER BY 'desc' :P

La consulta debería ser:

Código :

SELECT * FROM `nombre_tabla` GROUP BY `nombre`


lusifer:

Si lo quieres hacer en access, en teoria es igual. http://office.microsoft.com/es-hn/access/HA012314823082.aspx

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 24 Nov 2009 05:38 pm
error=No se puede agrupar mediante los campos seleccionados con '*' pero ni aunke ponga

SELECT id,nombre FROM `nombre_tabla` GROUP BY `nombre` me funciona, como ya comente mas arriba

No funciona tampoco, gracias. Podeis probarlo vosotros mismos si teneis acces creado una tabla de este estilo

id nombre
1 pepe
2 antonio
3 pepe

y obtener

1 pepe
2 antonio
3 pepe

ya vereis como no funciona, sigo probando y no doy con una solucion......

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Nov 2009 06:11 pm
prueba esto:

Código :

SELECT MIN(id),nombre FROM `nombre_tabla` GROUP BY `nombre` 
SELECT MIN(id),nombre FROM `nombre_tabla` GROUP BY `nombre`, `id`

Por chug0

Claber

136 de clabLevel



 

Perú

firefox
Citar            
MensajeEscrito el 24 Nov 2009 08:03 pm

lusifer escribió:

tu consulta tampoco me funciona, estoy utilizando una base de datos en acces con extension mdb


Access :ownz:

Olvidalo, que te ayude otro... eso apesta, espero no tener nunca que lidiar con esa cosa.

Tip: como te dije mi consulta funciona en postgresql que se parece un poco a SQL Server en cuanto a SQL. Seguro Access tiene algo parecido solo busca un poco en la documentación de como hacer ese DISTINCT.


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 Nov 2009 08:30 pm

Maikel escribió:

Olvidalo, que te ayude otro... eso apesta, espero no tener nunca que lidiar con esa cosa.


Ya ya tranquilo... Entiendo que no te guste personalmente access, a mi tampoco, pero no es forma de decirle a un user. A veces el silencio es suficiente. Me parece que no llega, pero esta muy cerca de parecerse a una crítica destructiva, mejor callar en esos casos jeje

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 25 Nov 2009 08:20 am
chug0 muxisimas gracias me ha funcionado perfecectamente¡¡ con la primera consulta que pones.

Saludos

Por lusifer

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Nov 2012 12:47 am
llego algunos años tarde.., jeje.., igual la respuesta mas obvia era
SELECT DISTINCT id,nombre FROM nombre_tabla


saluditos!

Por elangelitous

0 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.