Access - error en create view

 
Vista:

error en create view

Publicado por Bernardo Machado (1 intervención) el 27/07/2006 23:24:03
Buenas tengo el siguiente problema en una instrucción de create view, si alguien puede ayudarme de antemano gracias:

La siguiente consulta funciona asignandola a un recorset sin problemas...SELECT * FROM ordenes INNER JOIN clientes ON ordenes.idcliente=clientes.id WHERE clientes.nombre LIKE '%cols%' pero no me funciona en la siguiente instruccion para crear una vista....cnn.Execute "create view " & nombreconsulta & " as " & strsql.....Aqui strsql es una cadena con la consulta anterior, pero si a la expresion anterior le paso una consuta select sencilla sin JOIN funciona.
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
Imágen de perfil de Alejandro

Problema al crear una vista con instrucción JOIN en consulta

Publicado por Alejandro (4142 intervenciones) el 24/07/2023 16:42:18
El problema que estás enfrentando al crear la vista puede deberse a que en algunos sistemas de bases de datos, no todas las consultas son válidas para ser utilizadas en la creación de vistas. En particular, las consultas con instrucciones JOIN pueden no ser permitidas en ciertas implementaciones de bases de datos para la creación de vistas.

Una posible solución es simplificar la consulta para que no utilice la instrucción JOIN directamente en la vista. En su lugar, puedes utilizar subconsultas en la definición de la vista. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
strsql = "CREATE VIEW " & nombreconsulta & " AS " & _
         "SELECT * FROM ordenes " & _
         "WHERE idcliente IN (SELECT id FROM clientes WHERE nombre LIKE '%cols%')"

En este ejemplo, hemos sustituido la instrucción JOIN por una subconsulta que obtiene los "id" de los clientes cuyos nombres coinciden con '%cols%'. Luego, utilizamos esos "id" para filtrar las órdenes en la tabla "ordenes".

Ten en cuenta que la sintaxis exacta puede variar según la base de datos que estés utilizando. Es posible que en tu sistema de gestión de bases de datos específico, puedas utilizar otras formas de escribir la consulta en la vista. Asegúrate de revisar la documentación de tu sistema de bases de datos para obtener más información sobre cómo crear vistas con consultas más complejas.
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