BD relacionales

Estoy aprendiendo Oracle 9i, sin embargo, mi problema es crear relaciones para realizar consultas. El caso es que tengo un ejemplo donde creo vistas, imaginenos vista1, que arroja algo como:
Vendedor ProductoA
C. Herrera Lentes
D. Lopez Gorras
Y en la vista2, arroja algo como:
Vendedor ProductoB
C. Herrera Playera
D. Lopez Tennis
y vista3, arroja algo como:
Vendedor ProductoC
C. Herrera Short
D. Lopez Calcetas
Y tengo que realizar una salida como:
Vendedor ProductoA ProductoB ProductoC
C. Herrera Lentes Playera Short
D. Lopez Gorras Tennis Calcetas
Pero no entiendo la clausula WHERE, muy bien, es decir, no hay un procedimiento muy fácil de entender las relaciones entre las tablas, tal vez como un simple ecuación matemática o alguna explicación fácil de entender y fundamental, ¿una página o manual en la red? Gracias por tu ayuda
2

2 respuestas

Respuesta
1
Creo que de primero es necesario que aprendas lo que es la Normalizacion de datos, podes encontrar algo en: http://www.inf.udec.cl/~basedato/apunte/capitulo5/capitulo5.html
El where es una condición ya sea de relación (entre dos o más tablas) o condición de valor (que cumplan los atributos o campos).
Tomando el ejemplo que colocas, VISTA1, consta de 2 atributos (Vendedor, productoA).
Si le das
Select * from vista1 ; me imagino que te da el resultado que me enviaste, si le agregamos un Where, quedaria:
Select * from vista 1 WHERE vendedor = 'C';
Le agregamos que unicamente te muestre aquellos registros que cumplan con la condición.
Ahora si quiero relacionar dos tablas seria algo así:
SELECT vista1.vendedor, vista1.productoA, vista2.productoB
FROM vista1 , vista2
WHERE vista1.vendedor1 = vista2.vendedor2
Aquí van a salir los registros que cumplan cuando los valores del campo vendedor1 en vista1 y vendedor2 en vista2 sean iguales.
Respuesta
1
¿Te importaría explicármelo mejor? Creo que no acabo de entenderlo...
Tratare de explicarme otra vez, tengo unas vistas que cree, de esta manera
Vendedor | ProductoA |
-----------|-----------|
C. Herrera | Lentes |
D. Lopez | Gorras |
y en la vista2, arroja algo como:
Vendedor | ProductoB |
-----------|-----------|
C. Herrera | Playera |
D. Lopez | Tennis |
y vista3, arroja algo como:
Vendedor | ProductoC |
-----------|-----------|
C. Herrera | Short |
D. Lopez | Calcetas |
Y tengo que realizar una salida como:
Vendedor |ProdA | ProdB |ProdC
-----------|-------|--------|----------
C. Herrera |Lentes |Playera |Short
D. Lopez |Gorras |Tennis |Calcetas
Entiendo que se realiza con una clausula where para realizar esta tabla, como debo realizarlo. ¿Me ayudas?
Saludos
Envíame los querys que sacan las vistas, y te lo digo exactamente lo que hay que poner para lo que quieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas