Como sacar solo primera fila de mysql

Iniciado por soy_nicanor, 4 Marzo 2015, 01:54 AM

0 Miembros y 2 Visitantes están viendo este tema.

soy_nicanor

En id_med me sale 3 veces 3, Quisiera sacar solo la primera fila pra filtrar



Código (oracle8) [Seleccionar]

sSQL = "SELECT medicamento.id_med, medicamento.medicamento, "+
               "lote.lote "+            
               "FROM medicamento "+
               "INNER JOIN lote ON lote.id_med = medicamento.id_med "+
               "WHERE CONCAT(medicamento.medicamento, '', medicamento.codigoBarraU, '', medicamento.codigoBarraP) LIKE '%"+valor+"%'";




Quiero que me que asi


engel lex

con la clausula cambiando medicamento.id_med por distinct(medicamento.id_med) funciona?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

3n31ch

#2
y un limit 1 order by id_lote?

(No me hagan mucho caso, casi  no uso mysql)

soy_nicanor

No me funciona

Código (java) [Seleccionar]

sSQL = "SELECT medicamento.id_med, medicamento.medicamento, "+
                "lote.lote "+             
                "FROM medicamento "+
                "INNER JOIN lote ON lote.id_med = distinct(medicamento.id_med) "+
                "WHERE CONCAT(medicamento.medicamento, '', medicamento.codigoBarraU, '', medicamento.codigoBarraP) LIKE '%"+valor+"%'";
       
        try
        {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sSQL);

            while(rs.next())
            {
                registro[0] = rs.getString("id_med");
                registro[1] = rs.getString("medicamento");
                registro[2] = rs.getString("lote");     
                modelo.addRow(registro);
            }

3n31ch


engel lex

lo siento, no especifiqué... el que decia reemplazar era el primero... el del select

Cita de: Nac-ho en  4 Marzo 2015, 02:18 AM
Agregando limit 1 al final de la consulta no funciona?

el problema es que limit es para moestrar un solo resultado... el quiere mostrar todos donde la id no se repita
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

soy_nicanor

No es lo que quiero, solo me imprime la primera y listo

3n31ch

#7
Vale, es que solo me fije en:

Cita de: soy_nicanor en  4 Marzo 2015, 01:54 AM
En id_med me sale 3 veces 3, Quisiera sacar solo la primera fila pra filtrar

:( mi error.

y una consulta con un distinct?

(Esta prueba la hice en phpmyadmin)

Cree una tabla(numerouno int, numerodos int). e introduje los valores (0,1) (1,2) (2,1)  (0,3)

luego hice el siguiente select:
Código (sql) [Seleccionar]
select distinct numerouno, numerodos from tabla group by numerodos;

y arrojo = (0,1) (1,2) (0,3)

soy_nicanor

Gracias Nac-ho, Me ayudaste mucho

Tengo Una enquietud Como Cerrar como resuelto este tema. Y como aumentar Puntos

engel lex

#9
Cita de: soy_nicanor en  5 Marzo 2015, 02:19 AM
Gracias Nac-ho, Me ayudaste mucho

hey si lo dije yo! jejeje

CitarTengo Una enquietud Como Cerrar como resuelto este tema. Y como aumentar Puntos

no es necesario cerrar el tema, en caso de que alguien tenga algo más que decir o preguntar sobre el tema

no hay puntos...

ambas cosas es porque esto es un foro libre de discusión y de compartir, no hay competencias, no hay "yo soy mejor que tu", todos estamos aquí para preguntar, ayudar y aprender...

si quieres dar el tema por resuelto, queda en ti, modificar el primer post y cambiar el Icono del mensaje: a resuelto -> para que la gente sepa

saludos :P
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.