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

[SOLUCIONADO] Uso de max y min en SQL Sever

Estas en el tema de Uso de max y min en SQL Sever en el foro de SQL Server en Foros del Web. Buenas señores estoy trabajando con la base de pruebas de microsoft y pues tengo la sigueinte consulta en sql: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original ...
  #1 (permalink)  
Antiguo 10/08/2013, 09:40
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Uso de max y min en SQL Sever

Buenas señores estoy trabajando con la base de pruebas de microsoft y pues tengo la sigueinte consulta en sql:
Código SQL:
Ver original
  1. SELECT top 25 orders.orderid AS id,customers.companyname AS cliente,employees.firstname AS vendedor,shippers.companyname
  2. AS via_entrega,orders.orderdate AS fecha_compra,orders.freight AS valor_compra FROM Orders INNER JOIN
  3. customers ON orders.customerid = customers.customerid INNER JOIN employees ON orders.employeeid =
  4. employees.employeeid INNER JOIN shippers ON orders.shipvia = shippers.shipperid

El resultado es el deseado, pero si uso max para sacar cual es el la compra de maximo valor o minimo no me la da, ya he probado de muchas formas y pos no me sale

Código SQL:
Ver original
  1. SELECT top 25 orders.orderid AS id,customers.companyname AS cliente,employees.firstname AS vendedor,shippers.companyname
  2. AS via_entrega,orders.orderdate AS fecha_compra,MAX (orders.freight AS valor_compra) FROM Orders INNER JOIN
  3. customers ON orders.customerid = customers.customerid INNER JOIN employees ON orders.employeeid =
  4. employees.employeeid INNER JOIN shippers ON orders.shipvia = shippers.shipperid

Sera que estoy usando mal el termino ?? lo he usado de otras formas asi como sale en los manuales y no sale, alguien me ayuda por fissss
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #2 (permalink)  
Antiguo 11/08/2013, 04:39
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Uso de max y min en SQL Sever

Proba esto (con Over() despues del Max()):
Código SQL:
Ver original
  1. SELECT top 25 orders.orderid AS id,customers.companyname AS cliente,employees.firstname AS vendedor,shippers.companyname
  2. AS via_entrega,orders.orderdate AS fecha_compra,MAX (orders.freight AS valor_compra) OVER() FROM Orders INNER JOIN
  3. customers ON orders.customerid = customers.customerid INNER JOIN employees ON orders.employeeid =
  4. employees.employeeid INNER JOIN shippers ON orders.shipvia = shippers.shipperid;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #3 (permalink)  
Antiguo 11/08/2013, 09:30
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Uso de max y min en SQL Sever

Cita:
Iniciado por GeriReshef Ver Mensaje
Proba esto (con Over() despues del Max()):
Código SQL:
Ver original
  1. SELECT top 25 orders.orderid AS id,customers.companyname AS cliente,employees.firstname AS vendedor,shippers.companyname
  2. AS via_entrega,orders.orderdate AS fecha_compra,MAX (orders.freight AS valor_compra) OVER() FROM Orders INNER JOIN
  3. customers ON orders.customerid = customers.customerid INNER JOIN employees ON orders.employeeid =
  4. employees.employeeid INNER JOIN shippers ON orders.shipvia = shippers.shipperid;
No funciona ya lo habia intentado

Error: Mens. 195, Nivel 15, Estado 10, Línea 2
'MAX' is not a recognized built-in function name.


Pero cambie el orden de las cosas:

Código SQL:
Ver original
  1. SELECT top 25 orders.orderid AS id,customers.companyname AS cliente,employees.firstname AS vendedor,shippers.companyname
  2. AS via_entrega,orders.orderdate AS fecha_compra,MAX (orders.freight) OVER() AS maxima FROM Orders INNER JOIN
  3. customers ON orders.customerid = customers.customerid INNER JOIN employees ON orders.employeeid =
  4. employees.employeeid INNER JOIN shippers ON orders.shipvia = shippers.shipperid

Y ahi si da, la cosa es poner el alias hasta despues del over ()

Gracias !!!!
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: join, max, min, select, sql, valor
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 20:24.