Ejemplos While y Case Programacion/ Base de Datos.
Enviado por Alice Duarte • 10 de Febrero de 2016 • Trabajo • 1.368 Palabras (6 Páginas) • 124 Visitas
[pic 1]
BASE DE DATOS PARA APLICACIONES
PROFESOR: ING. FLORENCIO HERNÁNDEZ LARA
AUTORES:
Alan Genaro Silvano Lara 20130748.
CONTENIDO:
Case y while. Ejemplos
8”C”
HUEJUTLA, HGO. Enero de 2016
EJEMPLOS CASE
- Los clientes de una compañía tienen asignado un atributo llamado prioridad, que hace referencia al volumen de sus compras totales en un periodo de tiempo. Existen 3 niveles de prioridad: ALTO, MEDIO y BAJO. Donde cada uno es representado por su inicial ‘A’, ‘M’ y ‘B’ respectivamente. Muestre el nombre completo de cada prioridad según sea la letra que posea cada cliente.
Sintaxis
SELECT CASE PRIORIDAD
WHEN 'A' THEN 'ALTO'
WHEN 'M' THEN 'MEDIO'
WHEN 'B' THEN 'BAJO'
ELSE 'NN'
- Tabla Store_Information
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
Si deseamos multiplicar las sumas de ventas de 'Los Angeles' por 2 y las sumas de ventas de 'San Diego' por 1,5. SINTAXIS
SELECT Store_Name, CASE Store_Name
WHEN 'Los Angeles' THEN Sales * 2
WHEN 'San Diego' THEN Sales * 1.5
ELSE Sales
END
"Nuevas Ventas",
Txn_Date
FROM Store_Information;
- Productos de una tienda con precios y color
HL Road Pedal $80.99 Multi: Silver/Black
Touring Pedal $80.99 Multi: Silver/Black
Mountain Tire Tube $4.99 N/A
SINTAXIS
-- CASE
SELECT ProductName=Name, Price=FORMAT(ListPrice,'c2','en-US'), ProductColor=
CASE WHEN Color is NULL THEN 'N/A'
ELSE CASE
WHEN CHARINDEX('/', Color) = 0 THEN Color
ELSE CONCAT('Multi: ',Color) END END
FROM Production.Product ORDER BY ProductColor;
/* ProductName Price ProductCol
- ProductLine vertical de diseño a través de las columnas
SINTAXIS
USE AdventureWorks;
SELECT TOP 10
ProductNumber,
Road = CASE ProductLine
WHEN 'R' THEN 'X'
ELSE ''
END,
Mountain = CASE ProductLine
WHEN 'M' THEN 'X'
ELSE ''
END,
Touring = CASE ProductLine
WHEN 'T' THEN 'X'
ELSE ''
END,
OtherItem = CASE ProductLine
WHEN 'R' THEN ''
WHEN 'M' THEN ''
WHEN 'T' THEN ''
ELSE 'X'
END,
ProductName = Name
FROM Production.Product
ORDER BY NEWID();
GO
/* Results
ProductNumber | Road | Mountain | Touring | OtherItem | ProductName |
BK-M82S-38 | X | Mountain-100 Silver, 38 | |||
BK-T18Y-44 | X | Touring-3000 Yellow, 44 | |||
BK-M68S-46 | X | Mountain-200 Silver, 46 | |||
MS-2341 | X | Metal Sheet 5 | |||
BK-T79U-54 | X | Touring-1000 Blue, 54 | |||
RW-R762 | X | ML Road Rear Wheel | |||
FR-M94B-42 | X | HL Mountain Frame - Black, 42 | |||
HN-1224 | X | Hex Nut 7 | |||
SH-W890-M | X | Women's Mountain Shorts, M | |||
HB-M243 | X | LL Mountain Handlebars |
*/
...