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

Como funcionan estos NOT EXISTS???

Estas en el tema de Como funcionan estos NOT EXISTS??? en el foro de Mysql en Foros del Web. Artículos que se han vendido en todas las sucursales. Solución: SELECT Nombre FROM Articulos WHERE NOT EXISTS( SELECT 1 FROM Sucursales WHERE NOT EXISTS (SELECT ...
  #1 (permalink)  
Antiguo 06/09/2008, 20:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
Como funcionan estos NOT EXISTS???

Artículos que se han vendido en todas las sucursales.

Solución:

SELECT Nombre
FROM Articulos
WHERE NOT EXISTS( SELECT 1 FROM Sucursales
WHERE NOT EXISTS (SELECT 1
FROM Ventas
WHERE Sucursal=Sucursales.Id
AND Articulo=Articulos.Id))
ORDER BY 1;


No entiendo como el mysql internamente me devuelve todos los articulos que se vendieron en todas las sucursales.

Lo que se trata de lograr podría expresarse así :
SELECCIONAR Nombre
DE Articulos
CUANDO PARA TODA Sucursal
EXISTE Venta de Articulo en Sucursal.

El problema es " CUANDO PARA TODA Sucursal..." que no tiene una traducción directa a MySQL, ni a ningún SQL que yo conozca. Pero esta expresión es equivalente a "NO EXISTE Sucursal TAL QUE NO...". Es decir, afirmar que algo se cumple para todas las Sucursales equivale a afirmar que no existe una región para la que no se cumpla. Resultaría :

SELECCIONAR Nombre
DE Articulos
CUANDO NO EXISTE Sucursal TAL QUE
NO EXISTE Venta de Articulo en Sucursal.
  #2 (permalink)  
Antiguo 06/09/2008, 20:55
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Como funcionan estos NOT EXISTS???

Foro SQL
  #3 (permalink)  
Antiguo 06/09/2008, 20:56
Avatar de CrepitantE  
Fecha de Ingreso: octubre-2006
Ubicación: Colombia
Mensajes: 421
Antigüedad: 17 años, 6 meses
Puntos: 7
Respuesta: Como funcionan estos NOT EXISTS???

Select = Seleccionar
from = desde, de.
Where = Donde
not exists = no existe

Seleccionar nombre desde articulos Donde no existan (Seleccionar 1 desde Sucursales... etc.

Otros ejemplos:
Colocar un celular --- donde no existan x cosa
Tachar con marcador --- donde no exista x cosa
seleccionar un texto --- donde no exista el valor x

En MySQL:
Create table if not exists.

Literalmente dice crear tabla si no existe.
__________________
-
  #4 (permalink)  
Antiguo 07/09/2008, 12:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como funcionan estos NOT EXISTS???

Tema trasladado a SQL.
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 14:44.