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

[SOLUCIONADO] Como seleccionar el maximo de un codigo

Estas en el tema de Como seleccionar el maximo de un codigo en el foro de SQL Server en Foros del Web. Hola, Les explico tengo los código de esta forma 74142601 asta el 74142699 y algunos tiene letras 741426II por que ya sobrepasaron los 99 por ...
  #1 (permalink)  
Antiguo 29/05/2013, 15:08
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Como seleccionar el maximo de un codigo

Hola,
Les explico tengo los código de esta forma
74142601 asta el 74142699 y algunos tiene letras 741426II por que ya sobrepasaron los 99 por eso se aumentaron letras.
Bueno ahora estoy actualizando mi sistema y si las 2 ultimas son letras o sean 99 tiene que aumentare a 100 asta ahora estaba manejando código de 8 dijimos ahora lo estoy aumentando a 9.
Hasta ahora tengo guardado 741426100,741426102 - manualmente.
El problema que tengo es ala hora de seleccionar el máximo
Código SQL:
Ver original
  1. SELECT RIGHT(MAX(codPrd),3)
  2. FROM prd_maprdter
  3. WHERE CODMAT = '7' AND CODLPRD = '4' AND codcli ='1426'
solo me devuelve el 6II.

y si le aumento el
Código SQL:
Ver original
  1. SELECT RIGHT(MAX(codPrd),3)
  2. FROM prd_maprdter
  3. WHERE codPrd NOT LIKE '%[^0-9.]%'  AND CODMAT = '7' AND CODLPRD = '4' AND codcli ='1426'
solo me devuelve 99 no el 102 que el numero máximo.

Les agradecería su ayuda con la selección del 102 solo eso me faltaría para poder terminar.
Estoy programando en VB. 2010

Saludos
Gracias.

Última edición por gnzsoloyo; 29/05/2013 a las 17:32 Razón: Mal resaltado. Usar Highlight "SQL"
  #2 (permalink)  
Antiguo 29/05/2013, 15:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Como seleccionar el maximo de un codigo

Código SQL:
Ver original
  1. SELECT MAX(CONVERT(INT,RIGHT(codPrd,3))) FROM prd_maprdter WHERE codPrd NOT LIKE '%[^0-9.]%' AND CODMAT = '7' AND CODLPRD = '4' AND codcli ='1426'
prueba con eso :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 29/05/2013, 16:18
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Como seleccionar el maximo de un codigo

Hola Libras
Gracias por responder pero sigue mostrando 699 no el 102 .

:(
  #4 (permalink)  
Antiguo 29/05/2013, 16:21
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Como seleccionar el maximo de un codigo

un pequeño ejemplo de tus datos y lo que quieres conseguir
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 30/05/2013, 08:54
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Como seleccionar el maximo de un codigo

Hola Libras,

Los datos en mi SQL que tengo son las siguientes.
74142601
74142602
74142603 y así sucesivamente asta el
74142699

Cuando llegaba a 99 se aumentaban letras,
por eso tengo
741426II

Lo que ahora quiero es aumentar un campo mas ya no de 8 si no de 9. lo que tengo asta ahora es si las 2 ultimas campos sea 99 o las dos últimos campos sean letras le aumentaba a 100 y así ya tendría un código que sea de 9 dijitos asta ahí lo tengo.

Yo guarde manualmente los siguientes códigos.
741426100
741426101
741426102
Ya tienen 9 campos y cuando hago el selec del máximo de los dos últimos campos siempre me toma
el 99 o el II nunca logro llegar a tomar al 741426102.
Hay alguna forma de contar si el código tiene 9 caracteres tome los 2 números máximos.

Espero que me puedan ayudar,
ase tiempo que no agarro SQL.

Gracias.
  #6 (permalink)  
Antiguo 30/05/2013, 09:04
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Como seleccionar el maximo de un codigo

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. valores VARCHAR(50)
  4. )
  5. INSERT INTO #temp VALUES (74142601)
  6. INSERT INTO #temp VALUES (74142602)
  7. INSERT INTO #temp VALUES (74142603)
  8. INSERT INTO #temp VALUES (74142699)
  9. INSERT INTO #temp VALUES (741426100)
  10. INSERT INTO #temp VALUES (741426101)
  11. INSERT INTO #temp VALUES (741426102)
  12.  
  13. SELECT MAX(CONVERT(INT,valor)) FROM (
  14. SELECT CASE WHEN LEN(valores)=8 THEN
  15. SUBSTRING(valores,len(valores)-2,len(valores)) ELSE
  16. SUBSTRING(valores,len(valores)-3,len(valores)) END AS valor FROM #temp) t1

porque no te sale el 102? sencillo porque estas tomando valores de 3 digitos lo cual funciona cuando son 8 digitos, pero cuando son 9 tienes que obtener 4 digitos :)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 30/05/2013, 14:01
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Como seleccionar el maximo de un codigo

Hola Libras,
Gracias a tu ayuda logre solucionarlo

Asta la próxima :)

Saludos.

Etiquetas: maximo, select
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 22:26.