SQL - Ayuda sql definir reglas

 
Vista:

Ayuda sql definir reglas

Publicado por Mauricio (1 intervención) el 26/01/2018 00:59:18
Necesito de su ayuda:
Les cuento tengo Ñ cantidad de registros
En donde tengo que marcarlos según unos parámetros entregados.
A todos los registros debo realizar una “marca” en un campo nuevo
Ejemplo campos
Nombre
Rut
Teléfono
Producto
Producto oferta
Producto Web

En donde si el cliente está marcado como producto le asignó en el campo marca 1
Si es producto y oferta le asignó prioridad 2
Si es producto, oferta y web prioridad 3

El campo marca debo crearlo.
Espero su ayuda por favor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Ayuda sql definir reglas

Publicado por Leonardo Josué (1173 intervenciones) el 26/01/2018 15:48:54
Hola Mauricio:

no me queda claro cómo determinas qué marca o prioridad le tienes que asignar a registro, es decir, qué tipo de datos son los que traes en esos campos como para determinar las condiciones.

No nos dices tampoco con qué BD's estás trabajando, pero en la mayoría de los DBMS se tiene la sentencia CASE-WHEN qyue te puede ayudar para lo que quieres. Va un pequeño ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mysql> select * from tabla;
+------+-------------+
| id   | descripcion |
+------+-------------+
|    1 | uno         |
|    2 | dos         |
|    3 | tres        |
+------+-------------+
3 rows in set (0.06 sec)
 
mysql> SELECT
    ->   id,
    ->   descripcion,
    ->   CASE WHEN id in (1, 3) THEN 'IMPAR' ELSE 'PAR' END calculado
    -> FROM tabla;
+------+-------------+-----------+
| id   | descripcion | calculado |
+------+-------------+-----------+
|    1 | uno         | IMPAR     |
|    2 | dos         | PAR       |
|    3 | tres        | IMPAR     |
+------+-------------+-----------+
3 rows in set (0.18 sec)

En este caso, utilizo el operador CASE-WHEN para determinar si el ID es un impar o un par... los CASE WHEN pueden ser tan simples o tan complejos como lo desees.

Investiga en la ayuda de tu DBMS si soporta este tipo de consultas y cómo trabajan.

Si continuas con problemas, postea algunos datos de ejemplo de tus tablas, a partir de esos datos dinos qué es lo que esperas obtener como salida, dinos qué es lo que intentaste hacer y con gusto te ayudamos a completar y/o corregir lo que haya falta.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar