Consejo sobre consulta SQL

02/02/2007 - 21:19 por Miguel A. | Informe spam
Necesito una consulta que me estoy volviendo loco para crearla.
Tengo 2 tablas.
Tabla1.
Estado,Producto,Nombre,Direccion,Telefono,CP,Provincia
0,44,Pedro,GranVia3,91555555,28522,Madrid
0,67,Roberto,Castellana3,91333333,28567,Madrid
0,67,Jaime,Luchana5,91666666,28006,Madrid
0,32,Maria,Alcala58,936336545,08193,Barcelona

Tabla2
CP,Vendedor
28005,Antonio
28567,Antonio
28006,Maria
08193,Jaime

Tengo una vista de tal forma que me falta lo que necesito:

SELECT *
FROM dbo.Tabla1
WHERE (Estado IN (0)) AND (Producto IN (44,67)) .

Necesito que si mi vista se llama VentasAntonio, cruce/compruebe los CP de
ambas tablas y solamente me salgan los que realmente puede verder Antonio,
es decir,

0,44,Pedro,GranVia3,91555555,28522,Madrid
0,67,Roberto,Castellana3,91333333,28567,Madrid


No se si me explicado

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
02/02/2007 - 22:04 | Informe spam
Miguel A.,

Las vistas no son parametrizables. Puedes crear una vista por vendedor o
puedes crear una funcion definida por el usuario que devuelva una tabla.

create function dbo.ufn_f1 (
@vendedor varchar(25)
)
returns table
as
return (
select
a.Estado,
a.Producto,
a.Nombre,
a.Direccion,a.Telefono,a.CP,a.Provincia,b.Vendedor
from
dbo.t1 as a inner join dbo.t2 as b on a.CP = b.CP
where
b.Vendedor = @vendedor
)
go

select * from dbo.ufn_f1('Antonio')
go


AMB



"Miguel A." wrote:

Mostrar la cita
#2 Miguel A.
02/02/2007 - 22:10 | Informe spam
y no puedo implementar eso en una vista?. Te comento, tengo un programa en
visual, que muestra todas las vista y con un clik sobre alguna de ella,
muestro un HTML con esos datos mediante una hoja de estilos y solamente de
salcar esa informacion como Excel y ya esta.


"Alejandro Mesa" escribió en el
mensaje news:
Mostrar la cita
#3 Alejandro Mesa
02/02/2007 - 22:19 | Informe spam
Miguel,

Si tienes tres vendores, puedes crear una vista por cada vendedor, peor si
tienes cientos, vas a necesitar un buen rato.

Puedes mostrar los nombres de los vendedores y cuando hagas click en algiuno
de ellos, pasas el nombre como parametro hacia la funcion y te devolvera la
info para ese vendedor. Como si fuese un procedimiento almacenado.


AMB

"Miguel A." wrote:

Mostrar la cita
#4 Miguel A.
02/02/2007 - 22:19 | Informe spam
Algo parecido a esto:

SELECT TOP 100 PERCENT *
FROM dbo.Tabla1
WHERE (Estado IN (0)) AND (Producto IN (44,67)) (CP IN
(SELECT dbo.tabla2.*
FROM dbo.tabla2 INNER JOIN dbo.Tabla1 ON
dbo.tabla2.CP = dbo.Tabla1.CP
WHERE (dbo.tabla2.Vendedor = 'Antonio')))


"Miguel A." escribió en el mensaje
news:
Mostrar la cita
#5 Miguel A.
03/02/2007 - 13:05 | Informe spam
Alguna idea??

"Miguel A." escribió en el mensaje
news:ehLFN$
Mostrar la cita
Ads by Google
Search Busqueda sugerida