Imprimir página | Cerrar ventana

Duda consulta SQL

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86997
Fecha de impresión: 26/Marzo/2026 a las 17:28


Tema: Duda consulta SQL
Publicado por: Joseerg
Asunto: Duda consulta SQL
Fecha de publicación: 23/Octubre/2024 a las 11:26

Buenos días,

Tengo una duda acerca de una consulta SQL. El caso es que tengo dos tablas tblSimulaciones y tblSimulacionesComentarios, en la primera aparecen los pedidos con los distintos materiales que contiene, y en la segunda la información o respuesta que han aportado sobre ese pedido y material en concreto. Necesito una consulta que me devuelva el docVentas y un campo a nivel de pedido que es status el cual sea Confirmado o pendiente en función de si se ha obtenido al menos en el campo tipo una respuesta para cada uno de los materiales que contiene el pedido, en caso contrario el estado seria pendiente. Os pongo unos datos tontos de ejemplo, pero creo que puedes ayudar a entenderlo mejor:

Muchas gracias

Un saludo,





Respuestas:
Publicado por: Joseerg
Fecha de publicación: 23/Octubre/2024 a las 11:28
tblSimulaciones tblSimulacionesComentarios
Pedido Material Cantidad pedida Stock disponible Pedido Material Tipo Comentario Usuario
2000 170000 250 75 2000 170000 Informacion Pendiente de traslado A
2000 200000 80 20 2000 170000 Respuesta Asignar con falta B
2001 170000 30 75 2000 200000 Respuesta Asignar con falta B
2001 200000 5 20 2001 80000 Informacion Disponible corto fecha A
2001 80000 30 60 2001 80000 Respuesta Forzarle C
tblSimulacionFiltro
Pedido Status
2000 Confirmado
2001 Pendiente


Publicado por: Mihura
Fecha de publicación: 23/Octubre/2024 a las 11:51
Podrías atacar el problema creando una primera consulta que te diga si hay líneas vacías en los comentarios agrupada por pedido y después relacionar la tabla Simulaciones con esta consulta.




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: Joseerg
Fecha de publicación: 24/Octubre/2024 a las 12:09
Así ha quedado, funciona bien pero estoy viendo si se podría mejorar de alguna forma para ser mas eficiente, pero bueno de momento

sql = "SELECT s.DocVentas, s.Destinatario, " _
    & "IIf(MIN(IIf(c.Tipo = 'Respuesta', 1, 0)) = 0, 'Pendiente', 'Confirmado') AS Status " _
    & "FROM tblSimulaciones AS s " _
    & "LEFT JOIN (SELECT DocVentas, Material, Tipo FROM tblSimulacionesComentarios WHERE Tipo = 'Respuesta') AS c " _
    & "ON s.DocVentas = c.DocVentas AND s.Material = c.Material " _
    & "WHERE s.Centro LIKE @Centro AND s.FechaSimulacion = @FechaSimulacion " _
    & "GROUP BY s.DocVentas, s.Destinatario;"

Muchas gracias por la respuesta Jesus Smile



Imprimir página | Cerrar ventana